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!



Thanks,



Brian

Reply via email to