GTC-DC 2019: cuSignal: GPU Acceleration of SciPy Signal
Adam Thompson, NVIDIA
The RAPIDS initiative seeks to bring the power and speed of GPU compute to the data scientist. While software developers and engineers alike are familiar with speed increases invoked by moving applications to the GPU, many have struggled in implementing CUDA at the C/C++ level. The core RAPIDS libraries, cuDF, cuML, and cuGraph have bridged the divide between CUDA and Python developers by providing Pandas, Scikit-Learn, and NetworkX familiar APIs for GPU enabled data science with no CUDA required. In this talk, we will extend this software philosophy to a new domain: signal processing. cuSignal ports the popular SciPy signal's API to GPU. By leveraging cuPy - Chainer's GPU accelerated numPy library, Numba - for custom JIT compiled kernels, and the __cuda_device_array__ interface to move seamlessly between the existing RAPIDS libraries, numPy, and PyTorch via DLPack, we show that signal processing applications can reach significant speedups with little to no knowledge of CUDA.