Skip to content

CPU based implementation of the Direct Fourier Transform for the Square Kilometre Array

License

Notifications You must be signed in to change notification settings

adamrcampbell/DirectFourierTransform

Repository files navigation

Direct Fourier Transform - CPU Implementation

Note: currently single threaded; multithreaded CPU implementation considered for future work.

Instructions for installation of this software (includes profiling, linting, building, and unit testing):
  1. Install Valgrind (profiling, memory checks, memory leaks etc.)
    $ sudo apt install valgrind
  2. Install Cmake/Makefile (build tools)
    $ sudo apt install cmake
  3. 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
  4. Install Cppcheck (linting)
    $ sudo apt install cppcheck
  5. Configure the code for usage (modify direct_fourier_transform.c config)
  6. Build direct fourier transform project (from project folder)
    $ mkdir build && cd build
    $ cmake .. -DCMAKE_BUILD_TYPE=Debug && make

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 ./dft
$ valgrind --leak-check=yes -v ./tests

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

$ cppcheck --enable=all main.cpp
$ cppcheck --enable=all direct_fourier_transform.c
$ cppcheck --enable=all unit_testing.cpp

To execute unit testing, execute the following (also assumes appropriate build folder):

$ ./tests

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

$ ./dft

About

CPU based implementation of the Direct Fourier Transform for the Square Kilometre Array

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published