|Subject:||Researching Existing Work Done with GNU Radio and Hardware Accelerators|
|Date:||Tue, 14 Jul 2020 16:43:03 +0000|
Hello everyone. My company has started work on a project that involves utilizing GNU Radio and hardware accelerators for signal processing work and I was asked to do some research and see if I could gather some information about what kind of work has previously been done in this area. I posted something similar to what I have below in the General Chat room on Matrix and one recommendation received was to re-post it here to the mailing list. I understand that GNU Radio is an open-source community, and as such I would be happy to try and share my compiled findings once complete.
Full disclosure, I do not have an extensive EE or Computer Science background and I am relatively new to GNU Radio so please forgive my ignorance if I state something incorrectly below that would otherwise be obvious to someone who has more knowledge in these areas.
I can say that after having done some preliminary research (mostly by watching presentations posted to YouTube from the GRCon conferences) it sounds like one of the best examples of accelerated DSP operations involves the RFNoC software/hardware framework. But if I understand it correctly, it is pretty specific to the Ettus Research line of USRP SDR devices. I am interested in more platform-agnostic implementations. Such as one where there is a basic SDR device connected to some kind of host CPU which is then also connected to some version of an accelerator (FPGA or GPU).
From what I have heard and found thus far it seems that there are certain DSP operations that lend themselves to hardware acceleration. Things like LDPC decoders, Fast-Fourier Transform (FFT), IIR/FIR Filters, Polyphase Filter Banks, and channelizers are things that are good candidates for hardware accelerated implementations given certain parameters are met (buffer size, block size, sampling rate for example).
I would like to expand further on the above areas as much as possible. I am particularly interested in any information that addresses the following:
1). If there are specific particular GNU Radio blocks or signal processing operations in general that are best suited to accelerated implementations and/or what parameters make a particular process a good candidate for acceleration (ex. If you need to do X number of FFT processes, then accelerate, if less than X, do not need to accelerate kind of thing)
2). If a particular type of accelerator is better for implementation of certain signal processing operations or GNU Radio blocks and/or the parameters that would push something from one type of accelerator to another
3). What work has been done around the way that GNU Radio "talks" to hardware accelerators? Aside from the specific UHD stuff for the USRP device, I have seen a lot of mentions of OpenCL as a more generic option. Are there other options for getting GNU Radio blocks to run on accelerator devices?
4). If there are any published documentation or existing open-source code repositories that address any of this somewhere that anyone can share with me or point me to?
I apologize for the long message and appreciate any assistance or help provided!
|[Prev in Thread]||Current Thread||[Next in Thread]|