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

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.

[1]  E.G. Larsson,et al.  MIMO Detection Methods: How They Work [Lecture Notes] , 2009, IEEE Signal Processing Magazine.

[2]  Haitao Wu,et al.  Sora: High Performance Software Radio Using General Purpose Multi-core Processors , 2009, NSDI.

[3]  Robert S. Leiken,et al.  A User’s Guide , 2011 .

[4]  Ecnica De Valencia,et al.  Algoritmos paralelos para la solucion de problemas de optimizacion discretos aplicados a la decodificacion de senales , 2009 .

[5]  Markus Rupp,et al.  Boosting sphere decoding speed through Graphic Processing Units , 2010, 2010 European Wireless Conference (EW).

[6]  Markku J. Juntti,et al.  A GPU implementation for two MIMO-OFDM detectors , 2010, 2010 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[7]  Björn E. Ottersten,et al.  The Error Probability of the Fixed-Complexity Sphere Decoder , 2009, IEEE Transactions on Signal Processing.

[8]  Zhan Guo,et al.  Algorithm and implementation of the K-best sphere decoding for MIMO detection , 2006, IEEE Journal on Selected Areas in Communications.

[9]  Richard W. Harris,et al.  A variable step (VS) adaptive filter algorithm , 1986, IEEE Trans. Acoust. Speech Signal Process..

[10]  Alberto González,et al.  A reconfigurable GPU implementation for Tomlinson-Harashima precoding , 2012, 2012 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[11]  Kang Zhang,et al.  Real-time 4D signal processing and visualization using graphics processing unit on a regular nonlinear-k Fourier-domain OCT system , 2010, Optics express.

[12]  Manish Vachharajani,et al.  GPU acceleration of numerical weather prediction , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[13]  Dejan Markovic,et al.  A Multi-Core Sphere Decoder VLSI Architecture for MIMO Communications , 2008, IEEE GLOBECOM 2008 - 2008 IEEE Global Telecommunications Conference.

[14]  Iain B. Collings,et al.  A zero-forcing approximate log-likelihood receiver for MIMO bit-interleaved coded modulation , 2004, IEEE Communications Letters.

[15]  Thomas Kailath,et al.  MIMO receive algorithms , 2006 .

[16]  M. J. Gans,et al.  On Limits of Wireless Communications in a Fading Environment when Using Multiple Antennas , 1998, Wirel. Pers. Commun..

[17]  Antonio M. Vidal,et al.  Improved Maximum Likelihood detection through sphere decoding combined with box optimization , 2014, Signal Process..

[18]  Alexander Vardy,et al.  Closest point search in lattices , 2002, IEEE Trans. Inf. Theory.

[19]  Thomas P. Krauss,et al.  Signal processing toolbox for use with MATLAB : ユーザーズガイド , 1994 .

[20]  Guido Masera,et al.  Analysis on parallel implementations of fixed-complexity sphere decoder , 2011, Science China Information Sciences.

[21]  Johan Eilert,et al.  Implementation of a High-Speed MIMO Soft-Output Symbol Detector for Software Defined Radio , 2011, J. Signal Process. Syst..

[22]  U. Fincke,et al.  Improved methods for calculating vectors of short length in a lattice , 1985 .

[23]  Joseph J. Boutros,et al.  Bit-interleaved coded modulations for multiple-input multiple-output channels , 2000, 2000 IEEE Sixth International Symposium on Spread Spectrum Techniques and Applications. ISSTA 2000. Proceedings (Cat. No.00TH8536).

[24]  Georgios B. Giannakis,et al.  Sphere decoding algorithms with improved radius search , 2004, IEEE Transactions on Communications.

[25]  Chaitali Chakrabarti,et al.  Signal processing on platforms with multiple cores: Part 1 - Overview and methodologies [From the Guest Editors] , 2009 .

[26]  Antonio M. Vidal,et al.  An efficient GPU implementation of fixed-complexity sphere decoders for MIMO wireless systems , 2012, Integr. Comput. Aided Eng..

[27]  Tharmalingam Ratnarajah,et al.  A low-complexity soft-MIMO detector based on the fixed-complexity sphere decoder , 2008, 2008 IEEE International Conference on Acoustics, Speech and Signal Processing.

[28]  Leonel Sousa,et al.  How GPUs can outperform ASICs for fast LDPC decoding , 2009, ICS.

[29]  Antonio M. Vidal,et al.  Multicore implementation of a fixed-complexity tree-search detector for MIMO communications , 2013, The Journal of Supercomputing.

[30]  Stephan ten Brink,et al.  Achieving near-capacity on a multiple-antenna channel , 2003, IEEE Trans. Commun..

[31]  R. C. Whaley,et al.  ATLAS (Automatically Tuned Linear Algebra Software) , 2011, Encyclopedia of Parallel Computing.

[32]  Babak Hassibi,et al.  On the sphere-decoding algorithm I. Expected complexity , 2005, IEEE Transactions on Signal Processing.

[33]  Helmut Bölcskei,et al.  Soft-output sphere decoding: algorithms and VLSI implementation , 2008, IEEE Journal on Selected Areas in Communications.

[34]  Martin Haardt,et al.  An introduction to the multi-user MIMO downlink , 2004, IEEE Communications Magazine.

[35]  Erik G. Larsson,et al.  Scaling Up MIMO: Opportunities and Challenges with Very Large Arrays , 2012, IEEE Signal Process. Mag..

[36]  Jack Dongarra,et al.  LAPACK: a portable linear algebra library for high-performance computers , 1990, SC.

[37]  Lajos Hanzo,et al.  Multiuser MIMO-OFDM for Next-Generation Wireless Systems , 2007, Proceedings of the IEEE.

[38]  Shafi Goldwasser,et al.  Complexity of lattice problems - a cryptographic perspective , 2002, The Kluwer international series in engineering and computer science.

[39]  Hyunseok Lee,et al.  SODA: A High-Performance DSP Architecture for Software-Defined Radio , 2007, IEEE Micro.

[40]  Francisco-Jose Martínez-Zaldívar,et al.  A GPU implementation of an iterative receiver for energy saving MIMO ID-BICM systems , 2014, The Journal of Supercomputing.

[41]  Joseph R. Cavallaro,et al.  Reconfigurable real-time MIMO detector on GPU , 2009, 2009 Conference Record of the Forty-Third Asilomar Conference on Signals, Systems and Computers.

[42]  John S. Thompson,et al.  Fixing the Complexity of the Sphere Decoder for MIMO Detection , 2008, IEEE Transactions on Wireless Communications.

[43]  Sandra Roger,et al.  Efficient implementation of multiuser precoding algorithms on GPU for MIMO-OFDM systems , 2013 .

[44]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[45]  Antonio M. Vidal,et al.  Fully Parallel GPU Implementation of a Fixed-Complexity Soft-Output MIMO Detector , 2012, IEEE Transactions on Vehicular Technology.

[46]  Michael P. H. Stumpf,et al.  GPU accelerated biochemical network simulation , 2011, Bioinform..

[47]  Helmut Bölcskei,et al.  An overview of MIMO communications - a key to gigabit wireless , 2004, Proceedings of the IEEE.

[48]  Erik G. Larsson,et al.  Massive MIMO for next generation wireless systems , 2013, IEEE Communications Magazine.

[49]  Gerard J. Foschini,et al.  Layered space-time architecture for wireless communication in a fading environment when using multi-element antennas , 1996, Bell Labs Technical Journal.

[50]  Joseph R. Cavallaro,et al.  A GPU implementation of a real-time MIMO detector , 2009, 2009 IEEE Workshop on Signal Processing Systems.

[51]  Claus-Peter Schnorr,et al.  Lattice basis reduction: Improved practical algorithms and solving subset sum problems , 1991, FCT.

[52]  Víctor Manuel García Mollá,et al.  The impact of GPU/Multicore in Signal Processing: a quantitative approach , 2011 .

[53]  David K. Chiabi European Telecommunications Standards Institute , 2015 .

[54]  Eric Jones,et al.  SciPy: Open Source Scientific Tools for Python , 2001 .

[55]  Joseph R. Cavallaro,et al.  Implementation of a High Throughput Soft MIMO Detector on GPU , 2011, J. Signal Process. Syst..

[56]  Jack J. Dongarra,et al.  A proposal for an extended set of Fortran Basic Linear Algebra Subprograms , 1985, SGNM.

[57]  Giuseppe Caire,et al.  Bit-Interleaved Coded Modulation , 2008, Found. Trends Commun. Inf. Theory.

[58]  D.V. Anderson,et al.  Trends in multicore DSP platforms , 2009, IEEE Signal Processing Magazine.