/cusp

Library of CUDA Kernels for Signal Processing

Primary LanguageC++Apache License 2.0Apache-2.0

cusp

Library of CUDA Kernels for Signal Processing

Introduction

Access to signal processing and mathematical routines implemented in Python has been implemented in several solid libraries (cuPy, cuSignal), but utilizing this functionality from c++ applications such as GNU Radio which uses its own memory management has proved challenging. The purpose of cusp (CUDA Signal Processing) is to provide a library of CUDA kernels that are wrapped in a manner that is easily callable from c++. This library is analogous to VOLK but with CUDA hardware acceleration.

Dependencies

Installation

Generally accomplished in the standard meson/ninja way:

meson setup build
cd build
ninja
ninja install

For Ubuntu 20.04 with CUDA installed via apt (CUDA v10.1), it is necessary to tell meson where to find CUDA

Also, for installing into a newsched prefix, set the --prefix and --libdir

CUDA_ROOT=/usr/ meson setup build --buildtype=debugoptimized --prefix=[PREFIX_DIR] -Denable_cuda=true --libdir=lib

Also, if CUDA is installed from tar packages, be sure to add the CUDA library to the LIBRARY_PATH, e.g. in .bashrc:

export LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LIBRARY_PATH

Usage

Future Development