Skip to content

Latest commit

 

History

History
52 lines (51 loc) · 2.28 KB

README.md

File metadata and controls

52 lines (51 loc) · 2.28 KB

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