The State of GNU Radio Accelerator Device Support
summary
Adds a generic custom buffer interface so GNU Radio can eliminate the double copy by managing device DMA buffers directly, plus a post-work function that offloads data movement to the runtime. Implements a single-mapped buffer abstraction for devices without VM mapping. Works with CUDA and HIP (tested on an NVIDIA V100, a discrete laptop GPU and Jetson AGX Xavier) and with a Xilinx MPSoC flight test; OpenCL does not fit the model. Benchmarks show solid speedups for large batch sizes; a PR targets GNURadio 3.10 experimental.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 1:05GNU Radio and accelerator devices
- 2:27Eliminating double copy
- 3:11Project objectives
- 4:18GNU Radio buffering
- 5:42Double-mapped buffer
- 7:07Project milestones
- 8:09Single-mapped buffer
- 9:56Custom buffer interface
- 12:02Buffer management
- 13:27Data movement contexts
- 14:34Testing with runtimes
- 16:03OpenCL limitations
- 16:43Hardware platforms
- 18:12Benchmarking methodology
- 20:40Benchmarking on NVIDIA V100
- 21:42Benchmarking on laptop GPU
- 22:46Benchmarking on Jetson Xavier
- 23:50Benchmarking on Xilinx MPSoC
- 25:14Custom buffers tutorial
- 27:44Creating custom buffers
- 29:07Documentation status
- 30:09Code and examples
- 30:51Conclusion
related talks
31mManaging Latency in Continuous GNU Radio Flowgraphs
57mArchitecture Update
14mFreedom from memory interference
39mSoftware Defined Hardware on Heterogeneous SoCs Using OpenAMP
13mCohort: Software-Oriented Acceleration for You, Me, and Our Heterogeneous SoCs
25mOpen Source Software Stack for Heterogenous embedded devices
38mThe GR PDU Utilities
22mComplete Stream Fusion for Software-Defined Radio
