Tests de rendimento

Tests de rendimento
18 de enero, 2009

Para las pruebas de codificación de vídeo usaremos dos aplicaciones que en la actualidad son compatibles con la tecnología CUDA de NVIDIA. Por un lado Badaboom 1.1 (http://www.badaboomit.com/) y por otro lado TMPGEnc 4.0 Xpress de Pegasys (http://tmpgenc.pegasys-inc.com/es/download/te4xp.html)

En principio, aplicaciones “domésticas” como Badaboom 1.1 o Folding@Home para GPU están pensadas para usar una tarjeta gráfica en configuración no-SLI, pero si tienes más de una instalada, lo mejor es aprovechar todas ellas. Badaboom 1.1 permite asignar cada instancia a una tarjeta gráfica, siempre y cuando ésta esté conectada a un monitor.

Esta circunstancia nos obliga a tener tres cables conectados, uno por cada tarjeta, aunque si tienes monitores con entradas de vídeo múltiples esto no será necesario. Con conectar cada salida de las tarjetas a una entrada del monitor podrás activar CUDA en ellas. Para nuestras pruebas usamos un monitor Samsung T240 HD junto con un BenQ de 22’ pulgadas, de modo que con dos pantallas conectamos tres tarjetas.

Como vídeo de prueba, usamos un archivo .VOB de 1 Gbyte obtenido de la película Superman Return en DVD. Badaboom 1.1 puede leer directamente la carpeta VIDEO_TS obtenida tras ripear una película en el disco duro, aunque a efectos de agilidad es más práctico usar un archivo más corto. Como opciones para la codificación se eligió el perfil básico de salida para el dispositivo Apple iPhone, modificando algunos parámetros como el bit-rate, configurado a 500 kbps, así como el audio a 128 kbps.

La resolución de salída es de 480 x 320 píxeles, para conseguir un tamaño de archivo final de unos 96 Mbytes. TMPGEnc se configuró con parámetros equivalentes para poder hacer las comparaciones pertinentes entre el procesamiento con CUDA y el procesamiento sólo con la CPU.

A la vista de los resultados obtenidos con Badaboom, la conclusión es clara: CUDA en particular, y el uso de los recursos de las tarjetas gráficas para procesar tareas complejas en general, es uno de los mayores avances de la informática en mucho tiempo.

Es cierto que si se compara el tiempo de conversión de vídeo de una instancia de Badaboom con procesamiento en GPU, con el tiempo obtenido por TMPGEnc usando todos los recursos de la CPU, que en este caso es nada menos que un Intel Core i7, las diferencias no son abrumadoras. Pero debemos terner en cuenta que , con tres tarjetas gráficas y tres instancias de Badaboom, hemos podido codificar tres cadenas de vídeo independientemente, con una velocidad prácticamente idéntica a la obtenida usando hasta dos instancias de Badaboom 1.1.

Por otra parte también es reseñable que el rendimiento de cada instancia se mantiene prácticamente invariable cuando se ejecuta Folding@Home GPU usando una de las tarjetas gráficas y asignando las otras dos a la codificación de vídeo. Por el contrario, con TMPGEnc, cuando se pasa de una instancia a dos el rendimiento cae en picado, y mucho más cuando se pasa a tres.

Otra enorme ventaja de CUDA es la independencia de la potencia de la CPU. Hay una relación entre la CPU y el resultado final, pero en ningún caso es dramático. Incluso bajando la velocidad a 2,1 GHz frente a los 3,2 normales, o asignando un único core a cada instancia de Badaboom se obtienen tiempos extraordinarios en las codificaciones. Sin embargo, TMPGEnc es sumamente sensible al rendimiento de la CPU y la mínima variación en la frecuencia de reloj o el número de núcleos asignados se deja notar en el resultado final.

Así pues, con Badaboom y CUDA puedes perfectamente estar haciendo otras cosas mientras codificas una, dos o tres cadenas de vídeo dependiendo del número de tarjetas gráficas instaladas. Puedes hacer que varias instancias de Badaboom usen una misma tarjeta gráfica, pero en tal caso sí se nota una bajada del rendimiento de casi una cuarta parte según observamos en las pruebas, pasando de unos 220 fps a entre 50 y 60 fps. Aun así, puedes hacerlo sabiendo que el rendimiento de la CPU no variará y que incluso podrás jugar con otra GPU (en el caso de tener más de una).

Contenido del especial

Analizamos Badaboom, de NVIDIA

Equipo de pruebas y conclusiones

¿Qué es CUDA?

Tests de rendimiento

  • Share This