This project is part of the INFO-H503 course (ULB). It implements an optimized planesweep kernels in CUDA and benchmarks their performance on your GPU.
Please refer to doc/guidelines.pdf or doc/reportH503.pdf for more info.
- CUDA kernels for Planesweep algorithm and argmin depth extraction.
- Prints GPU device info using CUDA runtime API.
- Benchmarks and pretty colours 🎨✨
-
Clone the repository:
git clone git@github.com:Ant0in/CUDA-Planesweep.git cd CUDA-Planesweep -
Make sure you have Cuda installed and a Cuda-capable GPU. Cuda can be installed using
pacmanorapt:sudo pacman -Syu nvidia nvidia-utils nvidia-settings nvidia-smi # check if you have a cuda-capable gpu sudo pacman -S cuda
You also need to make sure you have OpenCV installed. You can use pacman or apt as well.
-
Build using the provided
Makefile:make # you can use the clean rule to remove build files
Alternatively, you can compile it by hand using nvcc and cmake if you are on Windows.
To run the planesweep algorithm, use:
./Planesweep min # or use `gc` if you want to use grap-cut refinementMake sure that Planesweep is in the same directory as the /res directory. Example of valid /res directory can be found at /res. It includes cam_params.json and cameras v_.png from 0 up to 15 at max.
This project is licensed under the MIT License. See the LICENSE file for more details.
This project was developed for the GPU Computing course INFO—H503. Special thanks to Bonatto Daniele (ULB) and Soetens Eline (ULB) for their guidance and support.

