Skip to content

Commit 863f6dd

Browse files
authored
Merge pull request #2 from SergioRAgostinho/gsoc-2020-pr
Create page for GSoC 2020
2 parents dd1139c + e140328 commit 863f6dd

File tree

9 files changed

+106
-2
lines changed

9 files changed

+106
-2
lines changed

Gemfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ source "https://rubygems.org"
1111
# gem "jekyll", "~> 3.8.5"
1212

1313
# This is the default theme for new Jekyll sites. You may change this to anything you like.
14-
gem "minima", "~> 2.0"
14+
gem "minima", "~> 2.5.1"
1515

1616
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
1717
# uncomment the line below. To upgrade, run `bundle update github-pages`.

_config.yml

+4
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ navigation:
4242
- title: Advanced
4343
url: https://pcl-advanced.readthedocs.io/
4444

45+
header_pages:
46+
- gsoc-2020.md
47+
- about.md
48+
4549
# Exclude from processing.
4650
# The following items will not be processed, by default. Create a custom list
4751
# to override the default setting.

_includes/header.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
{%- for path in page_paths -%}
2525
{%- assign my_page = site.pages | where: "path", path | first -%}
2626
{%- if my_page.title -%}
27-
<a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
27+
<a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.short | default: my_page.title | escape }}</a>
2828
{%- endif -%}
2929
{%- endfor -%}
3030
</div>

assets/images/gsoc-2020/gsoc-logo.svg

+17
Loading

assets/main.scss

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
# Only the main Sass file needs front matter (the dashes are enough)
3+
---
4+
5+
@import "minima";
6+
7+
.center {
8+
display: block;
9+
margin-left: auto;
10+
margin-right: auto;
11+
}
752 KB
Binary file not shown.
179 KB
Binary file not shown.

assets/pdf/gsoc-2020/proposal-gpu.pdf

542 KB
Binary file not shown.

gsoc-2020.md

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
layout: page
3+
title: Google Summer of Code 2020
4+
short: GSoC 2020
5+
permalink: /gsoc-2020/
6+
---
7+
8+
<img src="{{ '/assets/images/gsoc-2020/gsoc-logo.svg' | relative_url }}" alt="gsoc-logo" width="300" class="center" />
9+
10+
11+
After a long hiatus, PCL is once more participating in the Google Summer of Code initiative, this year with 3 projects.
12+
13+
### Extending PCL for use with Python: Bindings generation using Pybind11
14+
15+
**Student:** [Divyanshu Madan][divyanshu]
16+
17+
**Mentors:** [Kunal Tyagi][kunal], [Andrea Ponza][aponza]
18+
19+
**Proposal:** [url](/assets/pdf/gsoc-2020/proposal-bindings.pdf)
20+
21+
**Summary**
22+
23+
Extending PCL's use case by generating bindings for its use with interface languages like Python, for rapid development and maximal speed. The approach makes use of Pybind11 to expose PCL's C++ code and generate bindings in the form of python modules by using necessary type information. It supports automatic regeneration of the bindings when the underlying C++ code changes, to work with PCL's active development cycle.
24+
25+
### Refactoring, Modernisation & Feature Addition with Emphasis on GPU Module
26+
27+
**Student:** [Haritha Jayasinghe][haritha]
28+
29+
**Mentors:** [Sérgio Agostinho][sergio], [Lars Glud][lars]
30+
31+
**Proposal:** [url](/assets/pdf/gsoc-2020/proposal-gpu.pdf)
32+
33+
**Summary**
34+
35+
Despite being the go-to library for point cloud based computation, PCL can cause some friction to users due to its old-fashioned and sometimes inconsistent API and the lack of certain features. This proposal aims to introduce the following new features to the PCL library;
36+
* GPU implementation of Iterative Closest Point (ICP) algorithm
37+
* Implementation of Fast Resampling of 3D Point Clouds via Graphs
38+
39+
As well as to refactor and modernize the library by means of;
40+
* Introducing better type for point indices, thereby providing support for larger point clouds
41+
* Introducing a fluent API for algorithms
42+
* Modernising the GPU Octree module to align with the it’s CPU counterpart
43+
44+
### Unified API for Algorithms
45+
46+
**Student:** [Shrijit Singh][shrijit]
47+
48+
**Mentors:** [Kunal Tyagi][kunal], [Sérgio Agostinho][sergio]
49+
50+
**Proposal:** [url](/assets/pdf/gsoc-2020/proposal-executor.pdf)
51+
52+
**Summary**
53+
54+
Motivation
55+
56+
With the current trend of increasing parallelism, there is a need for a uniform way of making these parallel implementations available along with the default serial ones. Currently in PCL, this has been done by providing separate classes/functions having independent APIs.
57+
58+
With the integration of execution policies and executors (part of C++23 hopefully) libraries like PCL will be able to provide a unified API to switch between different implementations. To ensure there is no sudden breakage in the existing API, a transition phase is needed to slowly phase out the old API in favour of a unified API.
59+
60+
Implementation
61+
62+
This project aims to transition the existing API to forward-compatible unified API. The basic details are: Using tag dispatching to enable function overloading, allowing user to select between different available implementations. Lack of tags allows PCL to choose best possible implementations, this allows to maintain backward compatibility with current API. Missing implementation for a tag raises compile-time errors Providing SIMD/OpenMP/CUDA implementations of existing algorithms using the proposed unified API.
63+
64+
65+
[divyanshu]: https://github.com/divmadan
66+
[haritha]: https://github.com/haritha-j
67+
[shrijit]: https://github.com/shrijitsingh99
68+
69+
[aponza]: https://github.com/aPonza
70+
[kunal]: https://github.com/kunaltyagi
71+
[sergio]: https://github.com/SergioRAgostinho
72+
[lars]: https://github.com/larshg

0 commit comments

Comments
 (0)