The Journal of Supercomputing

, Volume 71, Issue 2, pp 751–760 | Cite as

MIMOPack: a high-performance computing library for MIMO communication systems

  • Carla Ramiro
  • Antonio M. Vidal
  • Alberto Gonzalez


This paper presents MIMOPack, a set of optimized functions to perform some of the most complex stages in multiple-input multiple-output (MIMO) communication systems such as channel coding, preprocessing, precoding and detection. These functions are optimized to be run in a wide range of architectures increasing the portability of scientific codes between different computing environments. MIMOPack aims to become a useful library for the research community facilitating to the programmer the development of adaptable parallel applications and also to speed up simulation platforms used to assess different technologies proposed by several companies involved in standarization processes.


HPC library GPU Multi-core CUDA MIMO 


  1. 1.
    Paulraj AJ, Gore DA, Nabar RU, Blcskei H (2004) An overview of MIMO communications—a key to gigabit wireless. Proc IEEE 92(2):198–218CrossRefGoogle Scholar
  2. 2.
    Rusek F, Persson D, Lau B, Larsson E, Marzetta T, Edfors O, Tufvesso F (2013) Scaling up MIMO: opportunities and challenges with very large arrays. IEEE Signal Process Mag 30(1):40–60CrossRefGoogle Scholar
  3. 3.
    Lin Y, Lee H, Woh M, Harel Y, Mahlke S, Mudge T, Chakrabarti C, Flautner K (2007) SODA: a high-performance DSP architecture for software-defined radio. IEEE MICRO 27(1):114–123CrossRefGoogle Scholar
  4. 4.
    Yang C-H, Markovic D (2008) A multi-core sphere decoder VLSI architecture for MIMO communications. Global telecommunications conference, pp 1–6Google Scholar
  5. 5.
    Wu D, Eilert J, Liu D (2011) Implementation of a high-speed MIMO soft-output symbol detector for software defined radio. J Signal Process Syst 63(1):27–37CrossRefGoogle Scholar
  6. 6.
    Tan K, Liu H, Zhang J, Zhang Y, Fang J, Voelke GM (2011) Sora: high-performance software radio using general-purpose multi-core processors. Commun ACM 54(1):99–107CrossRefGoogle Scholar
  7. 7.
    Wu M, Sun Y, Gupta S, Cavallaro J (2011) Implementation of a high throughput soft MIMO detector on GPU. J Signal Process Syst 64(2):123–136CrossRefGoogle Scholar
  8. 8.
    Nylanden T, Janhunen J, Silven O, Juntti M (2010) A GPU implementation for two MIMO-OFDM detectors. International conference on embedded computer systems, pp 293–300Google Scholar
  9. 9.
    Falcao G, Silva V, Sousa L (2009) How GPUs can outperform ASICs for fast LDPC decoding. International conference of supercomputing, pp 123–136Google Scholar
  10. 10.
    Innovative Computing Laboratory, University Tennessee, Knoxville (2009) MAGMA: Matrix algebra on GPU and multicore architectures. Available at
  11. 11.
    EM Photonics, Inc (2010) CULA Tools - GPU accelerated LAPACK. Available at
  12. 12.
    MathWorks, Inc. (2011) Communications System Toolbox - Design and simulate the physical layer of communication systems.
  13. 13.
    ITPP-C++ Library for Mathematical, signal processing, speech processing, and communications classes and functions. Available at
  14. 14.
    Roger S, Ramiro C, Gonzalez A, Almenar V, Vidal AM (2012) An efficient GPU implementation of fixed-complexity sphere decoders for MIMO wireless systems. Integr Comput-Aided Eng 19(4):341–350Google Scholar
  15. 15.
    Ramiro C, Roger S, Gonzalez A, Almenar V, Vidal AM (2013) Multi-core implementation of a fixed-complexity tree-search detector for MIMO communications. J Supercomput 65(3):1010–1019CrossRefGoogle Scholar
  16. 16.
    Garcia VM, Gonzalez A, Gonzalez C, Martinez-Zaldivar FJ, Ramiro C, Roger S, Vidal AM (2011) The impact of GPU/multicore in signal processing: a quantitative approach. Waves 3:96–106Google Scholar
  17. 17.
    Roger S, Ramiro C, Gonzalez A, Almenar V, Vidal AM (2012) Fully parallel GPU implementation of a fixed-complexity soft-output MIMO detector. IEEE Trans Veh Technol 61(8):3796–3800CrossRefGoogle Scholar
  18. 18.
    Domene F, Roger S, Ramiro C, Piero G, Gonzalez A (2012) A reconfigurable GPU implementation for Tomlinson–Harashima precoding. 37th international conference on acoustics, Kyoto, JapanGoogle Scholar
  19. 19.
    Domene F, Roger S, Ramiro C, Piero G, Gonzalez A (2012) Efficient implementation of multiuser precoding algorithms on GPU for MIMO-OFDM systems. XXVII Simposium Nacional de la Unin Cientfica Internacional de Radio, Elche, SpainGoogle Scholar
  20. 20.
    Ramiro C, Simarro Haro MA, Martinez-Zaldivar MJ, Vidal AM, Gonzalez A (2013) A GPU implementation of an iterative receiver for energy saving MIMO ID-BICM systems. J Supercomput. doi:10.1007/s11227-013-1081-x
  21. 21.
    Larsson EG (2009) MIMO detection methods: how they work [lecture notes]. Signal Process Mag IEEE 26(3):91–95. doi:10.1109/MSP.2009.932126 CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Carla Ramiro
    • 1
  • Antonio M. Vidal
    • 1
  • Alberto Gonzalez
    • 2
  1. 1.Department of Information Systems and ComputationUniversitat Politècnica de ValènciaValenciaSpain
  2. 2.Institute of Telecommunications and Multimedia ApplicationsUniversitat Politècnica de ValènciaValenciaSpain

Personalised recommendations