jueves, 7 de enero de 2010

PPUs

Actualmente todos los ordenadores tienen algún tipo de GPU que permite liberar a la CPU de los cálculos necesarios para generar gráficos 3D, se han propuesto añadir más hardware de propósito específico, especialmente para juegos.

La propuesta más importante ha sido la de un coprocesador físico normalmente conocido como PPU (Physics Processing Unit).

Los primeros diseños de hardware especializado (SPARTA y posteriormente HELLAS) fueron fruto de la investigación académica. En febrero de 2006 se comercializó la primera PPU bajo el nombre de PhysX, diseñado por la compañía Ageia.


La arquitectura de esta tarjeta está basada en un procesador RISC, acompañado de procesadores vectoriales con almacenamiento local (no es memoria caché) y la lógica necesaria para intercomunicar los distintos procesadores. El hardware iba acompañado de la correspondiente API. Esta tecnología la compró nVidia en 2008. En la actualidad, nVidia ha hecho público el API, pero no va a comercializar el hardware sino que mediante un driver, utiliza la potencia de cálculo de las GPUs actuales para acelerar el cálculo de la física.



El principal competidor de PhysX es Havok FX. Se trata de una modificación de Havok, una API y motor de física muy populares, que permite utilizar tarjetas gráficas tanto de AMD como de nVidia para acelerar ciertos cálculos. Estos se implementan como shaders que se ejecutan en la GPU, siguiendo la estrategia actual de nVidia con PhysX. Sin embargo esta tecnología parece estar abandonada desde que Intel compró Havok.

La tendencia actual parece hacer innecesario el uso de hardware específico para el cálculo de la física. De hecho el diseño de la PPU PhysX recuerda al diseño de procesadores modernos como Cell de Sony/IBM/Toshiba o a las tarjetas gráficas modernas que como se ha visto comienzan a utilizarse para dicho fin. Esto hace pensar que en el futuro bastará con el hardware ya existente. Es mucho más probable que se vuelva algo normal el uso de una 2ª tarjeta gráfica como co-procesador que pueda realizar diversos cálculos (entre ellos la física) usando CUDA, OpenCL o DirectCompute. Por ejemplo, los nuevos MacBook Pro de 17" tienen 2 tarjetas gráficas. Esto ha coincidido con el lanzamiento de CUDA para Mac por parte de nVidia y el anuncio de soporte para PhysX en Mac en un futuro, el apoyo de Apple a OpenCL y el uso de GPGPU por parte de Adobe en su programa Photoshop en su última versión.

Patxi Astiz

No hay comentarios:

Publicar un comentario