Nowadays, several communication standards are emerging and evolving, searching higher transmission rates, reliability and coverage. This expansion is primarily driven by the continued increase in consumption of mobile multimedia services due to the emergence of new handheld devices such as smartphones and tablets.One of the most significant techniques employed to meet these demands is the use of multiple transmit and receive antennas, known as MIMO (Multiple Input Multiple Output) systems. The use of this technology allows to increase the transmission rate and the quality of the transmission through the use of multiple antennas at the transmitter and receiver sides.MIMO technologies have become an essential key in several wireless and broadband standards such as Wireless Local Area Network (WLAN), Worldwide interoperability for Microwave Acces (WiMAX), Long Term Evolution (LTE) and Next Generation Handheld (DVB-NGH), for the reception of Digital Terrestrial Television (DTT) in handheld devices. These technologies will be incorporated also in future standards, therefore is expected in the coming years a great deal of research in this field.Clearly, the study of MIMO systems is critical in the current investigation, however the problems that arise from this technology are very complex. High Performance Computing (HPC) systems, and specifically, modern hardware architectures as multi-core and many-cores (e.g Graphics Processing Units (GPU)) are playing a key role in the development of efficient and low-complexity algorithms for MIMO transmissions. Proof of this is that the number of scientific contributions and research projects related to its use has increased in the last years. Also, some high performance libraries have been implemented as tools for researchers or companies involved in the development of future communication standards. Two of the most popular libraries are: IT++ that is a library based on the use of some optimized libraries for multi-core processors and the Communications System Toolbox designed for use with MATLAB and Simulink, which uses GPU computing. However, there is not a library able to run on a heterogeneous platform using all the available resources.In view of the high computational requirements in MIMO application research and the shortage of tools able to satisfy them, we have made a vi Abstract special effort to develop a library to ease the development of adaptable parallel applications in accordance with the different architectures of the executing platform. The library, called MIMOPack, aims to implement efficiently using parallel computing, a set of functions to perform some of the critical stages of MIMO communication systems simulation.The main contribution of the thesis is the implementation of efficient Hard and Soft output detectors, since the detection stage is considered the most complex part of the communication process. These detectors are highly configurable and many of them include preprocessing techniques that reduce the computational cost and increase the perf...