Overview
This tutorial will teach you how to integrate GPU processing using CUDA with GNU Radio on the AIR-T software defined radio. Once completed, you will be able to build a custom GPU processing block within GNU Radio and use it to process your own signals. The tutorial assumes some familiarity in programming in Python and writing GPU kernels using CUDA. Don’t worry if you have never written a GNU Radio block before, this part is explained for you and you can start by modifying the code in the tutorial’s GitHub repository to get a feel for how all the components fit together.
The below sections will walk you through how to create a very simple GNU Radio block in Python that executes on the GPU. This simple block will use the PyCUDA library to divide the input signal by two and send the result to the output. All computation within the block will be done on the GPU. It is meant to be a very simple framework to understand the process of developing signal processing code.
Note that this tutorial documents software APIs that may change over time. In all of the below examples, we will be working with GNURadio 3.7.9 (as released with Ubuntu 16.04 LTS) and developing blocks using Python 2.7.
Click here for the full tutorial