Optimized cuda FIR filter implementation for complex sample data. Generic CPU implementation for reference. Python code for generating and testing vectors.
You will need a working install of the Cuda Development Enviroment with the binary directory in your path.
-
Follow post install steps on nvidia's website (if this is the first time using cuda): Post install instructions
-
Checkout the code
git clone https://github.com/tylerjw/cuda_fir.git
- Create build directory
cd cuda_fir
mkdir build
cd build
- Run cmake
cmake ../
- Build
make
In the scripts directory there are a few python scripts. You will need python3 with scipy and numpy to run them.
generateExampleData.py
- createsnoise.cap
andfiltered.cap
and plots fft of them into png filessamples.py
- plots fft ofcpuout.cap
andcudaout.cap
in png filestestout.py
- comparescpuout.cap
andcudaout.cap
- Use
scripts/generateExampleData.py
to generate sample data. - Run the code to generate outputs.
- Use
scripts/samples.py
andscripts/testout.py
to compare.
python3 scripts/generateExampleData.py
build/bin/main noise.cap cpuout.cap cudaout.cap
python3 scripts/samples.py
python3 scripts/testout.py