Usando la cosas para lo que no son.

Usando la cosas para lo que no son.

por

Siempre me retaban cuando usaba los cajones de la cocina como escalera, los cuchillos como destornilladores y el renovador de zapatos como pintura.

Aparentemente, una compañí­­a gringa, siguiendo la misma lí­­nea, tiene una interfaz que permite usar una tarjeta de video como sintetizador de audio.

Intro freak

Recuerdo un capí­­tulo del capitán Futuro en donde un villano le alteraba los sentidos a nuestro héroe, intercambiando sus sentidos de la vista y del oí­­do.

Debido a este sucio truco, el capitán debí­­a derrotar al malo intentando entender un flujo de información trastocado, de manera que, por ejemplo, una mancha roja brillante era el sonido de los pasos del villano, y un retumbar de baja frecuencia era la silueta de éste que se acercaba. Muy tirado de las mechas, pero interesante propuesta.

Todo indica que la idea no era tan absurda, toda vez que se ha inventado un software que puede usar una GPU Nvidia como coprocesador de audio.

¿Cuál es la gracia?

Un DSP -digital signal processor- convencional, como el que se usa en un estudio de sonido, puede llegar a costar fácilmente 25 mil dólares. Si alguien puede gastar eso, bueno que bien por él, pero para el resto de los mortales la opción es conformarse con unos pocos plugins bien básicos, o bien armarse de paciencia mientras programas que procesan la señal via software nos entregan resultados, desde luego sin permitirnos usar efectos en tiempo real.

Alguna vez comentamos que transistor por transistor, el GPU de una tarjeta de video moderna es mucho más eficiente que el de cualquier procesador Intel o AMD de la actualidad. Si realmente se pudiera hacer una comparación mano a mano, el proder de procesamiento de un GPU, capaz de realizar 20 Gigaflops, serí­­a equivalente a un procesador de 10 Ghz. El problema, claro, está en que la GPU está hecha para procesar gráficos, por lo que no puedes encargarle que hagas las operaciones que se te ocurran.

En la práctica, el hecho de que juegos y aplicaciones saquen provecho de la vga es un ejemplo básico, por cuando en general la parte analí­­tica ocurre en la CPU mientras que la parte gráfica se ejecuta en la GPU. De esa manera se mantiene a los dos cerebritos ocupados, y si la carga es balanceada ninguno retrasa al otro. En otras palabras, el GPU opera como coprocesador gráfico y releva esa carga del CPU, volviendo todo el proceso más eficiente.

Ahora, cuando el asunto no se trata de procesar gráficos, el camino se pone cuesta arriba. El GPU no está hecho para procesar el mismo tipo de datos que el procesador, y necesita algo a lo que poder aplicar sus shaders para hincarle el diente. Intentos tempranos de solucionar esta limitación se dieron por ejemplo con el proyecto BrookGPU de la Universidad de Stanford, que conduce un proyecto para crear una extensión al lenguaje C que permita obligar a ciertas partes del código a ejecutarse en el GPU. Este proyecto, aunque potencialmente tenga mucha utilidad, sigue en pañales y no tiene resultados concretos para exhibir.

Y AVEX sí­­ funciona?

Pues todo indica que sí­­. Aunque el beta no ha sido liberado para demostraciones practicas, en el sitio de BionicFX no dejan lugar a dudas, y llenos de orgullo han anunciado su software Audio Video EXchange (AVEX), capaz de procesar una señal de sonido digital en tiempo real, usando el poder de procesamiento de una GPU Nvidia.

El software constituye la primera aplicación comercial que permite correr código no gráfico en el GPU, y lo logra transformando las ondas de sonido en patrones gráficos, sobre los cuales el GPU puede actuar con sus shaders, aplicando efectos gráficos que el programa traduce de vuelta, de manera que la señal digital que sale del proceso equivale a la del sonido modificado con un efecto en tiempo real.

Esquemáticamente, el procedimiento es como sigue:

Todaví­­a está por verse el verdadero potencial de este tipo de aplicaciones, pero algo nos queda claro. Los 40 Gigaflops que una 6800 Ultra puede generar son un poder 8 veces mayor que el más potente PC de la actualidad. Sólo hay que ingeniárselas para extraer y aprovechar ese poder… pero probablemente es más fácil decirlo que hacerlo.

Fuente: BionicFX

Otras Referencias: BrookGPU