[en] ABSTRACT: In the last years, the graphic card's development has increased, but the thing that hadn't been developed is the different functions that can do this type of processors. These graphic processors perform incredibly good in videogame execution, moving these games in a 1920x1080 pixels resolution at 60 frames per second. But, taking into account such computing capacity, it surprises that the audio processing is not being used as it happens with the video and image. The project's theme is the audio processing viability on heterogeneus systems. Also, the dificulties between using a discrete GPU versus an integrated GPU are analyzed. With the development of a multi platform audio file recorder and player, a compute node that applies from algorithm processes to OpenCL's kernels executions through optimizations done with OpenMP, it's presented. Once the system is developed, some experimentations are done on the system in order to find the best system configurations to obtain a higher performance and in order to decide which OpenMP optimization is better. Then, the results are analyzed so as to obtain the best parameters and the best OpenMP optimizations. The multi platform systems is ready, now it's turn for OpenCL. In general, audio filters are sequential, so its parallelization is harder. Based on that, it's decided to work with the Fast Fourier Transform and the process that was optimizew with OpenMP, in order to study the latency of the input and output of the data as well as the processing time.

[es] RESUMEN: En los últimos años, el desarrollo de las tarjetas gráficas ha ido al alza, pero lo que no se han desarrollado tanto son las diferentes funcionalidades que se le da a este tipo de procesadores. Estos procesadores gráficos actúan muy bien en la ejecución de videojuegos, moviendo a 60 fotogramas por segundo imágenes de 1920x1080 píxeles. Pero teniendo tanta capacidad de cómputo, sorprende que no se explote el procesamiento del audio tal y como ocurre en vídeo e imagen. En este proyecto se estudia la viabilidad del procesamiento de audio en tiempo real en sistemas heterogéneos. Además, se analizan las dificultades que se dan en el uso de procesadores gráficos discretos frente a los procesadores gráficos integrados. Junto al desarrollo de un sistema de grabación y reproducción de audio, se presenta un nodo de cómputo que abarca desde la ejecución de algoritmos de procesamiento hasta la ejecución de kernels en OpenCL, pasando por optimizaciones realizadas con OpenMP. Una vez se tiene el desarrollo de la aplicación con todos sus componentes funcionales se realizan una serie de experimentaciones sobre el sistema, para encontrar la configuración del sistema que ofrezca un mayor rendimiento, y sobre las optimizaciones realizadas en OpenMP. Luego se analizan los resultados de estas experimentaciones para ver qué parámetros del sistema y qué optimizaciones realizadas ofrecen un mayor rendimiento. Una vez desarrollada la aplicación multiplataforma, falta la experimentación con OpenCL. Por lo general, los filtros de audio son secuenciales, por lo que su paralelización es más difícil o no se aprovecha el rendimiento del procesador gráfico. De este modo, se consiguen el cálculo de la transformada rápida de Fourier, como un cómputo complejo y limitado; y un algoritmo umbral trivial, para saturar las comunicaciones y no el cómputo. Con estos cómputos se estudian las latencias de entrada y salida de los datos, así como el tiempo de procesamiento.