Skip to content

Ant0in/CUDA-Planesweep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Language Badge Version Badge License Badge School Badge

⚡ CUDA Planesweep Project

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.

benchmark_run

Figure 1: Planesweep with Graph-cut

📜 Features

  • CUDA kernels for Planesweep algorithm and argmin depth extraction.
  • Prints GPU device info using CUDA runtime API.
  • Benchmarks and pretty colours 🎨✨

⚙️ Installation

  1. Clone the repository:

    git clone git@github.com:Ant0in/CUDA-Planesweep.git
    cd CUDA-Planesweep
  2. Make sure you have Cuda installed and a Cuda-capable GPU. Cuda can be installed using pacman or apt:

    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.

  1. 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.

🛠️ Usage

To run the planesweep algorithm, use:

./Planesweep min  # or use `gc` if you want to use grap-cut refinement

Make 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.

exec_run_fig2

Figure 2: Execution with argmin depth-refinement

📄 License

This project is licensed under the MIT License. See the LICENSE file for more details.

🙏 Acknowledgements

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.

About

Planesweep algorithm in CUDA for INFO-H503

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Contributors