Skip to main content
Log in

Using OpenCL to Increase SCA Application Portability

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6

Similar content being viewed by others

Notes

  1. www.wirelessinnovation.org

  2. Altera part number 5CSXFC6D6F31C6N

References

  1. Baldwin, C., Mohsen, E., ASIC or FPGA. Why Not Plan For Portability?. Chip Design Tools Technologies & Methodologies.

  2. The Khronos OpenCL Working Group (2015). The OpenCL Specification version 2.0, 2015. https://www.khronos.org/opencl/.

  3. 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.

  4. 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.

    Article  MATH  Google Scholar 

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. Luna, F. D. (2008). Introduction to 3D game programming with DirectX 10. Sudbury: WordWare Publishing Inc..

    Google Scholar 

  11. 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.

  12. 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.

  13. Scarpino, M. (2012). OpenCL in action. Shelter Island: Manning Publications Co.

    Google Scholar 

  14. OpenCL mapping for Python. http://mathema.tician.de/software/pyopencl/.

  15. OpenCL mapping for Java. https://code.google.com/p/javacl/.

  16. OpenCL mapping for Ruby. https://github.com/Nanosim-LIG/opencl-ruby.

  17. TI implementation of the Khronos OpenCL 1.1 specification. http://downloads.ti.com/mctools/esd/docs/opencl.

  18. Brueckner, R. (2015). How OpenCL could open the gates for FPGAs, http://insidehpc.com/2015/02/how-opencl-could-open-the-gates-for-fpgas/.

  19. 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.

  20. 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.

  21. The Khronos Group Inc., The SPIR™ Specification version 1.2 (2014). https://www.khronos.org/registry/spir/.

  22. Fuji, Y., Azumi, T., Nishio, N., Kato, S., Edahiro, M. Data Transfer Matters for GPU Computing.

  23. SoCKit - the Development Kit for New SoC Device http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=816.

  24. 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.

  25. Altera SDK for OpenCL Programming Guide (UG-OCL002) 2015.11.02, https://www.altera.com/opencl.

  26. Altera RTE for OpenCL Getting Started Guide (UG-OCL005) 2015.11.02, https://www.altera.com/opencl.

  27. Altera SDK for OpenCL Best Practices Guide (UG-OCL005) 2015.11.02, https://www.altera.com/opencl.

  28. Altera SDK for OpenCL Custom Platform Toolkit User Guide (UG-OCL007) 2015.11.02, https://www.altera.com/opencl.

  29. Texas Instrument OpenCL™ Runtime Documentation, http://downloads.ti.com/mctools/esd/docs/opencl/index.htm.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Steve Bernier.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-017-1225-y

Keywords

Navigation