Por: Alejandro D'Agostino [tw: @lale_ ] / MAR, 19 / JUL / 2011

La supercomputación a base de GPU que motoriza la TV digital

Con NextStream se utiliza programación paralela y placas GPU para procesar video HD (y también 3D) a alta velocidad. Mediante el framework nacional Nextstream se usan los core de una placa de video estándar para lograr rendimientos superiores a los de un equipo para codificación de video dedicado de valor de 30 mil dólares.

La TV digital en la Argentina tuvo un gran crecimiento. Y una de las claves fue NextStream, un framework o entorno de desarrollo creado 100% en la Argentina que permite utilizar la capacidad de procesamiento de una unidad de procesador gráfico (GPU) para lograr desempeños superiores a equipos dedicados para la codificación de video HD que son muy costosos. Alejo Grau, gerente de Desarrollo y cofundador de Dixar, habló en exclusiva con RedUSERS para explicarnos cómo funciona.

“Históricamente trabajamos con programación secuencial, es decir, un proceso se ejecuta luego de que el anterior termina de hacerlo, porque había un sólo procesador. A partir de 2005, la cosa cambia porque empiezan a haber micros de varios cores y, además, se agregan los procesadores de las GPU, que se pueden usar como coprocesadores y hacer programación de propósito general“, indica el ejecutivo.

Alejo aporta un ejemplo sobre una placa NVIDIA Tesla, que tiene 1024 cores. “El programador tiene que desarrollar en programación paralela, que es otra lógica, otro paradigma. Ahí entra NextStream, que es una librería que permite hacer programación paralela en ‘Heterogeneous Computing’, es decir, para cualquier procesador. Por ejemplo, se puede escribir un código estándar en cualquiera de los tres lenguajes para que corra en cualquier plataforma“, explica.

NextStream se compone de dos partes: un front-end y un back-end. El primero permite a los desarrolladores programar en JAVA, C++ o .NET. Y el segundo sirve para que el desarrollo se pueda compilar en OpenCL (para AMD/ATI, Intel y NVIDIA) o CUDA (NVIDIA). Y además de una mejora en el rendimiento, las empresas que lo utilicen podrán ahorrar costos en recursos humanos, pues no necesitarán expertos en OpenCL, sino programadores que manejen alguno de los tres lenguajes de alto nivel compatibles.

No hacemos programación gráfica, sino programación clásica convertida en programación paralela, pues tratamos al video como una matriz de datos. No hablamos en términos de texturas, efectos, sino que usamos sentencias For, While, etcétera”, aporta Alejo. “La codificación de video en el códec H.264 no se puede hacer en tiempo real con una computadora estándar, pero se puede hacer con una PC con placa GPU y NextStream, y obtener los mismos resultados que con un equipo dedicado comprado en Japón que cuesta unos 30 mil dólares”, añade.

El principal beneficiado con esta tecnología es la TV digital, pues usa mucha información por sus cuadros de amplias dimensiones y alta resolución que se refrescan constantemente. “La compresión extra sobre el H.264 que logró Mario Mastriani y su equipo requiere gran poder de cómputo en tiempo real, pues hay un límite de 30 milisegundos para que no haya delay”, se explaya Alejo.

Pero también se está utilizando NextStream para procesar señales de los radares por medio de una extensión. Con el uso de este framework y una computadora con una GPU NVIDIA Tesla se triplicó la performance con respecto a un hardware específico, reduciendo tiempo de cálculo de 30 milisegundos a 9,2 milisegundos. Y también hubo un beneficio económico: la solución cuesta un 10 por ciento del precio del hardware dedicado.

NextStream en acción

A continuación, un benchmark en video que muestra la performance obtenida con NextStream usando como testeo el fractal Julia, considerado un estándar dentro de la industria.

 

¡Comparte esta noticia!