Abstract
The Software Communications Architecture has become the de facto standard to build Software Defined Radio radios. Over one hundred thousand SCA military radios have been deployed worldwide by several nations. The SCA offers a component-based operating environment for the creation of portable applications. SCA applications are portable across different heterogeneous embedded distributed system. For performance reasons, application software gets optimized using specialized instructions sets supported by General Purpose Processors, Digital Signal Processors Graphical Processing Units. As a result, the level of portability of the source code can decrease significantly. Moreover, portability is considered to be a major challenge when Field Programmable Gate Arrays are used. Specialized instruction sets are widely used for high performance military radio platforms. Consequently, finding a solution to increase portability of SCA applications across different operating environments could provide significant cost reductions. This paper describes how the Open Computing Language (OpenCL™) can be used in conjunction with the SCA to increase the portability of applications that need to perform intensive signal processing.
Similar content being viewed by others
Notes
Altera part number 5CSXFC6D6F31C6N
References
Baldwin, C., Mohsen, E., ASIC or FPGA. Why Not Plan For Portability?. Chip Design Tools Technologies & Methodologies.
The Khronos OpenCL Working Group (2015). The OpenCL Specification version 2.0, 2015. https://www.khronos.org/opencl/.
Tripp, J. L., Jackson, P. A., Hutchings, B. L. (2002). Sea cucumber a synthesizing compiler for FPGAs. Field-Programmable Logic and Applications: Reconfigurable Computing Is Going Mainstream, Volume 2438 of the series Lecture Notes in Computer Science, pp 875–885, August, Springer-Verlag. http://link.springer.com/chapter/10.1007/3-540-46117-5_90#page-1.
Guo, Z., Buyukkurt, B., Cortes, J., Mitra, A., & Najjar, W. (2008). A Compiler Intermediate Representation for Reconfigurable Fabrics. International Journal of Parallel Programming, 36(5), 493–520 Springer-Verlag.
Chung, E.S., Hoe, J.C., Mai, K., (2011). CoRAM. An in-fabric memory architecture for FPGA-based computing, Proceeding FPGA ‘11 Proceedings of the 19th ACM/SIGDA international symposium on Field programmable gate arrays, pp 97–106, February, ACM.
Kirchgessner, R., Stitt, G., George, A., Lam, H. (2012). A virtual FPGA platform for applications and tools portability. Field-Programmable Logic and Applications: Reconfigurable Computing Is Going Mainstream, Conference: Proceedings of the ACM/SIGDA 20th International Symposium on Field Programmable Gate Arrays, FPGA 2012, Monteerey, California, USA, February 22–24.
Klöpper, B., Cranston, N., Aleksy, M., Dix, M. (2013). Developing portable FPGA applications - A literature review, Industrial Informatics (INDIN), 2013 11th IEEE International Conference, 29–31 July, pp 123–128, IEEE.
Joint Tactical Networking Center Standard Modem Hardware Abstraction Layer Application Program Interface, Version 3.0.0, 02. (2013). JTNC.http://www.public.navy.mil/jtnc/sca/Documents/SCA_APIs/API_3.0_20131002_Mhal_withErrata.pdf.
Joint Tactical Radio System Standard MHAL on Chip Bus Application Program Interface, Version 1.1.5, 26. (2013). JTNC. http://www.public.navy.mil/jtnc/sca/Documents/SCA_APIs/API_1.1.5_20130626_Mocb.pdf.
Luna, F. D. (2008). Introduction to 3D game programming with DirectX 10. Sudbury: WordWare Publishing Inc..
Zhang, W., Betz, V., Rose, J. (2012). Portable and Scalable FPGA-Based Acceleration of a Direct Linear System Solver, ACM Transactions on Reconfigurable Technology and Systems, Vol. 5, No. 1, Article 6.
Chow, G.C.T., Eguro, K., Luk, W., Leong, P. (2010). A Karatsuba-based Montgomery Multiplier. FPL 10 Proceedings of the 2010 International Conference on Field Programmable Logic and Applications.
Scarpino, M. (2012). OpenCL in action. Shelter Island: Manning Publications Co.
OpenCL mapping for Python. http://mathema.tician.de/software/pyopencl/.
OpenCL mapping for Java. https://code.google.com/p/javacl/.
OpenCL mapping for Ruby. https://github.com/Nanosim-LIG/opencl-ruby.
TI implementation of the Khronos OpenCL 1.1 specification. http://downloads.ti.com/mctools/esd/docs/opencl.
Brueckner, R. (2015). How OpenCL could open the gates for FPGAs, http://insidehpc.com/2015/02/how-opencl-could-open-the-gates-for-fpgas/.
Implementing FPGA. (2013). Design with the OpenCL standard, https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/wp/wp-01173-opencl.pdf.
Parker, M., Jervis, M. (2015). The most under-rated FPGA design tool ever, EE eTimes. http://www.eetimes.com/author.asp?section_id=36amp;doc_id=1327664. Accessed January 2016.
The Khronos Group Inc., The SPIR™ Specification version 1.2 (2014). https://www.khronos.org/registry/spir/.
Fuji, Y., Azumi, T., Nishio, N., Kato, S., Edahiro, M. Data Transfer Matters for GPU Computing.
SoCKit - the Development Kit for New SoC Device http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=816.
Altera OpenCL for Arrow SoCkit Setup Instructions v.14.0.01, 11/25/2014, http://rocketboards.org/foswiki/pub/Documentation/ArrowSoCKitOpenCL/SoCkit_OpenCL_Setup-v14.0--2014-11-25.pdf?t=1457556033.
Altera SDK for OpenCL Programming Guide (UG-OCL002) 2015.11.02, https://www.altera.com/opencl.
Altera RTE for OpenCL Getting Started Guide (UG-OCL005) 2015.11.02, https://www.altera.com/opencl.
Altera SDK for OpenCL Best Practices Guide (UG-OCL005) 2015.11.02, https://www.altera.com/opencl.
Altera SDK for OpenCL Custom Platform Toolkit User Guide (UG-OCL007) 2015.11.02, https://www.altera.com/opencl.
Texas Instrument OpenCL™ Runtime Documentation, http://downloads.ti.com/mctools/esd/docs/opencl/index.htm.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Bernier, S., Lévesque, F., Phisel, M. et al. Using OpenCL to Increase SCA Application Portability. J Sign Process Syst 89, 107–117 (2017). https://doi.org/10.1007/s11265-017-1225-y
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-017-1225-y