Acelerando la TDT con GPUs

La implementación de algoritmos que usará la futura Televisión Digital Terrestre (TDT) para su ejecución en tarjetas gráficas (GPUs) dispara su rendimiento y permite a los investigadores de la UPV/EHU investigar sobre las soluciones más adecuadas para la próxima generación de TDT.

Las señales digitales y en concreto las de TDT cuando son enviadas llevan la información redundada, duplicada en cierto grado, de tal modo que si durante la transmisión algunos bits se pierden o corrompen se puede recuperar la señal original en el dispositivo receptor. Esto se hace mediante unos códigos que procesan la señal y son capaces de detectar esos errores y corregirlos. Estos códigos han de ser por un lado rápidos en su ejecución para poder ejecutarse “al vuelo” directamente sobre la señal retransmitida y además son mejores cuanta menos información extra usen, al emplear de este modo menos ancho de banda del canal de comunicación.

Unos de estos tipos de algoritmos son los LDPC (Low Density Parity Check). Este tipo de códigos son muy intensivos desde el punto de vista computacional pero también altamente paralelizables. Aprovechando esta característica el grupo Tratamiento de la Señal y Radiocomunicaciones de la UPV/EHU ha implementado muy satisfactoriamente uno de estos códigos en OpenCL para su uso en equipos dotados de tarjetas gráficas (GPUs – Graphical Processing Units.).

CPU-GPU-benchmark

Información procesada por segundo en CPUs y GPUs.

En la Figura podemos ver la tremenda mejora en la rapidez que han obtenido en el procesamiento de las señales en diferentes dispositivos, desde CPUs pasando por tarjetas gráficas de PC  hasta las GPUs Tesla C2050 más sofisticadas para cálculo computacional. De la gráfica se puede observar en las dos primeras columnas que la aproximación de alto rendimiento LP es el doble de rápida que la aproximación de alta precisión BP de los algoritmos. El las implementaciones OpenCL para GPUs  en cambio no hay diferencias significativas en el tiempo de ejecución debido a cómo se implementan los códigos. Cuando se usan GPUs comerciales para PCs se pueden conseguir mejoras de hasta x100 y con tarjetas profesionales de cálculo se puede acelerar el cálculos hasta más de x200. En esta ocasión las tarjetas más normales de PCs son una gran alternativa pues los cálculos se realizan en precisión simple que es la precisión nativa de estas tarjetas y donde trabajan de forma óptima.

La implementación de estos códigos en OpenCL y la demostración de su viabilidad abre la posibilidad de que en un futuro estos códigos se ejecuten por software sobre procesadores genéricos en la futura TDT, una solución mucho más flexible y probablemente barata que su implementación electrónica directamente en hardware. No obstante, por ahora este software va a permitir acelerar la investigación en la TDT del futuro dado que acelera el tratamiento y análisis de las señales en el laboratorio.

 

Gracias a Daniel Ansorregui y Gorka Prieto del grupo TSR

http://www.ehu.es/tsr/

 

 

Leave a Reply