Sunday, July 12, 2009

DirectX 11 habilitará el concepto de GPGPU sobre hardware existente

La interfaz de programas de aplicación (API) Microsoft DirectX 11, prevista para lanzarse más adelante este año, habilitará el soporte para la ejecución de compute shaders 4.0 sobre chips gráficos diseñados para DirectX 10, lo cual dará a tales chips una programabilidad adicional y simplificará la implementación de nueva tecnología.

El procesamiento de propósito general en unidades de procesamiento gráfico –concepto conocido como GPGPU– está ganando popularidad en forma lenta pero segura. Desafortunadamente, en la actualidad sólo hay una interfaz estándar de programa de aplicación (OpenGL) que soporta a todos los chips gráficos disponibles hoy en día. Pero aparentemente, DirectX 11 hará posible la ejecución de procesamiento físico, inteligencia artificial, y programación GPGPU a través del uso de compute shaders (CS), con lo cual podrá valerse incluso de las GPUs existentes en la actualidad, aunque con algunas limitaciones.

Para popularizar el uso de CS entre los desarrolladores, la API DirectX 11 no sólo incluye CS 5.0, sino también CS 4.0 (para hardware DirectX 10) y 4.1 (para hardware DirectX 10.1), los cuales no son soportados por DirectX 10. Los CS 4.x presentan varias limitaciones con respecto a la versión 5.0, incluyendo un número máximo de 768 threads por grupo, una memoria compartida de 16 KB por grupo (contra 32 KB de CS 5.0), ausencia de operaciones atómicas de append/consume, etc.

El principal objetivo de CS 4.x es permitir a los desarrolladores de juegos practicar con tecnología de compute shaders, habilitando GPGPU por medio de DirectX, además de permitir a los desarrolladores de juegos usar CS para tareas complejas relativas al rendering de imágenes (en lugar de pixel shaders) para ganar performance.

Las versiones beta de DirectX 11, junto con los drivers que soportan compute shaders 4.x, están disponibles por parte de Microsoft, ATI/AMD y Nvidia.

No comments: