OptiSDR — A domain specific language to improve developer productivity for software defined radio

Domain specific languages (DSLs) offer the potential for using a small, specialized and highly expressive programming language to concisely represent solutions for a particular domain of problems. The DSL approach is in stark contrast to that of a general programming language that attempts to provide a means to represent solutions for a broad range of problems. DSLs may incorporate constructs and syntactical features that not only relate to the problem context, but also to the execution platform. DSLs thus provide a potential for reducing development time and thereby cutting business costs. At present this approach is likely more appropriate to prototyping and rapid experimental work; but as technologies to implement DSLs improve they may become more beneficial and cost effective for developing marketable products. In this paper we present a DSL, called OptiSDR, aimed to improve developer productivity for development of software defined radio (SDR) applications deployed on heterogeneous computing architectures (HCAs). OptiSDR is designed for HCAs that adhere to certain combinations of processing devices, namely FPGAs, graphics processing units, and multi-core general purpose processors. Our aim to improve developer productivity in multiple ways was achieved, with development cycles for parallel DSP routines for SDR reduced to few hours as opposed to days for CUDA-C development cycles. OptiSDR uses automatic code generation for structured parallel SDR patterns, and performs automatic profiling to generate faster execution kernels with speed-ups of more than 50× compared to other sequential implementations while reducing manual effort in porting and tuning code. Therefore this paper reports on a study confirming the potential to speed up when using OptiSDR for prototyping SDR applications.

[1]  N. Bliss,et al.  PVTOL: Providing Productivity, Performance and Portability to DoD Signal Processing Applications on Multicore Processors , 2008, 2008 DoD HPCMP Users Group Conference.

[2]  M.N.O. Sadiku,et al.  Software-defined radio: a brief overview , 2004, IEEE Potentials.

[3]  Arjuna Madanayake,et al.  Wideband 32-element 200-MHz 2-D IIR beam filters using ROACH-2 Virtex-6 sx475t FPGA , 2015, 2015 IEEE 9th International Workshop on Multidimensional (nD) Systems (nDS).

[4]  Gene Frantz,et al.  ADVANCEMENTS IN DIGITAL SIGNAL PROCESSING TECHNOLOGY ARE ENABLING ITS USE FOR INCREASINGLY WIDESPREAD APPLICATIONS . DEVELOPERS WILL BE CHALLENGED TO USE THIS PROCESSING POWER TO ITS UTMOST , WHILE CREATING NEW APPLICATIONS AND IMPROVING EXISTING ONES , 2022 .

[5]  Vincent J. Kovarik,et al.  Software Defined Radio: The Software Communications Architecture , 2007 .

[6]  Marco Danelutto,et al.  RPL: A Domain-Specific Language for Designing and Implementing Parallel C++ Applications , 2016, 2016 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP).

[7]  Khyati Vachhani,et al.  Experimental study on wide band FM receiver using GNURadio and RTL-SDR , 2015, 2015 International Conference on Advances in Computing, Communications and Informatics (ICACCI).

[8]  James C. Sutherland,et al.  Wasatch: An architecture-proof multiphysics development environment using a Domain Specific Language and graph theory , 2016, J. Comput. Sci..

[9]  Kunle Olukotun,et al.  Delite , 2014, ACM Trans. Embed. Comput. Syst..

[10]  Martin Odersky,et al.  Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs , 2010, GPCE '10.

[11]  Mohammed A. S. Khalid,et al.  An overview of Altera SDK for OpenCL: A user perspective , 2015, 2015 IEEE 28th Canadian Conference on Electrical and Computer Engineering (CCECE).