Skip to content

Multi-threaded GPU based implementation of the SDP Imaging pipeline gridding module

License

Notifications You must be signed in to change notification settings

ska-telescope/CUDA_Gridder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gridder- CUDA Implementation

Note: currently only supported by NVIDIA GPUs (limitation of CUDA)

Instructions for installation of this software (includes profiling, linting, building, and unit testing):
  1. Ensure you have an NVIDIA based GPU (mandatory!)
  2. Install the CUDA toolkit and runtime (refer to link for download/installation procedure)
  3. Install Valgrind (profiling, memory checks, memory leaks etc.)
    $ sudo apt install valgrind
  4. Install Cmake/Makefile (build tools)
    $ sudo apt install cmake
  5. Install Google Test (unit testing) - See this tutorial for tutorial on using Google Test library
    $ sudo apt install libgtest-dev
    $ cd /usr/src/gtest
    $ sudo cmake CMakeLists.txt
    $ sudo make
    $ sudo cp *.a /usr/lib
  6. Install Cppcheck (linting)
    $ sudo apt install cppcheck
  7. Configure the code for usage (modify gridder config)
  8. Create local execution folder
    $ mkdir build && cd build
  9. Build gridder project (from project folder)
    $ cmake .. -DCMAKE_BUILD_TYPE=Release && make
  10. Important: set -CDMAKE_BUILD_TYPE=Debug if planning to run Valgrind. Debug mode disables compiler optimizations, which is required for Valgrind to perform an optimal analysis.

Instructions for usage of this software (includes executing, testing, linting, and profiling):

To perform memory checking, memory leak analysis, and profiling using Valgrind, execute the following (assumes you are in the appropriate build folder (see step 5 above):

$ valgrind --leak-check=yes -v ./gridder

To execute linting, execute the following commands (assumes you are in the appropriate source code folder):

$ cppcheck --enable=all main.cpp
$ cppcheck --enable=all gridder.cu

To execute the gridder (once configured and built), execute the following command (also assumes appropriate build folder):

$ ./gridder

About

Multi-threaded GPU based implementation of the SDP Imaging pipeline gridding module

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published