Flowgraph Acceleration with GPUs: Analyzing the Benefits of Custom Buffers in GNU Radio
Recently, there has been major improvements in graphics processing hardware, making them perfect tools for accelerating massively parallel applications. Some discrete graphics cards can have thousands of individual cores and reach teraflops of computing power. Since digital signal processing is an inherently parallelizeable application, GPUs are interesting candidates for also accelerating software radios. However, there are a couple of challenges to consider when integrating GPUs into a software radio framework such as GNU Radio. Specifically, this includes memory management and kernel scheduling overhead. The custom buffer feature being added to the GNU Radio runtime helps simplify these issues by allowing blocks to allocate specialized memory buffers for the runtime to manage. This paper also presents some performance comparisons of a simple flowgraph using custom buffers and an embedded GPU for acceleration. With the custom buffer feature, the GPU solution is able to perform at a very high throughput in comparison to a generic implementation.
- I grant gnuradio.org a perpetual, non-exclusive license to distribute this article.
- I certify that I have the right to grant this license.
- I understand that submissions cannot be completely removed once accepted.
- I understand that gnuradio.org reserves the right to reclassify or reject any submission.