Skip to main content
Log in

Code Parallelization for Multi-Core Software Defined Radio Platforms with OpenMP

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

Abstract

Since the number of processing cores in a General Purpose Processor (GPP) increases steadily, parallelization of algorithms is a well known topic in computer science. Algorithms have to be adapted to this new processor architecture to fully exploit the available processing power. This development equally affects the Software Defined Radio (SDR) technology because the GPP has become an important processor for SDR platforms. To make use of the entire processing power of a multi-core GPP and hence to avoid system inefficiency, this work provides an approach to parallelize C/C+ + code using OpenMP. This application programming interface provides a rapid way to parallelize code using compiler directives inserted at appropriate positions in the code. The processing load can be shared between all available cores. We use Matlab Simulink as a framework for a model-based design and evaluate the processing gain of embedded handwritten C-code blocks with OpenMP support.We will show that with OpenMP the core utilization is increased. Compared to a single-core GPP, we will present the increase of the processing speed depending on the number of cores. We will also highlight the limitations of code parallelization. In our results, we will show that a straightforward implementation of algorithms without multi-core consideration will cause an underutilized system.

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
Figure 7
Figure 8
Figure 9

Similar content being viewed by others

References

  1. Chapman, B., Jost, G., & van der Pas, R. (2008). Using OpenMP—portable shared memory parallel programming. Cambridge, Massachusetts, London, England: The MIT Press.

    Google Scholar 

  2. Hoffmann, S., & Lienhart, R. (2008). OpenMP—Eine Einführung in die parallele Programmierung mit C/C+ +. Berlin, Heidelberg: Springer.

    Google Scholar 

  3. Nagel, S., Schwall, M., & Jondral, F. K. (2010). Porting of waveform: Principles and implementation. FREQUENZ, 64(11–12), 218–223.

    Article  Google Scholar 

  4. OpenMP.org (2011). www.openmp.org. Accessed 12 Sep 2011.

  5. The MathWorks (2011). www.mathworks.com. Accessed 12 Sep 2011.

  6. Ettus Research LLC (2011). www.ettus.com. Accessed 12 Sep 2011.

  7. Nagel, S., Schwall, M., & Jondral, F. K. (2010). Portable waveform design. In Proceedings of 20th Virginia tech symposium on wireless communications.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Schwall.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Schwall, M., Nagel, S. & Jondral, F.K. Code Parallelization for Multi-Core Software Defined Radio Platforms with OpenMP. J Sign Process Syst 69, 67–74 (2012). https://doi.org/10.1007/s11265-011-0648-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-011-0648-0

Keywords

Navigation