En el campo de los gráficos por ordenador en 3D , el modelo de sombreado unificado (conocido en Direct3D 10 como " Shader Model 4.0 ") se refiere a una forma de hardware de sombreado en una unidad de procesamiento gráfico (GPU) donde todas las etapas de sombreado en el flujo de renderizado (geometría, vértice, píxel, etc.) tienen las mismas capacidades. Todas pueden leer texturas y buffers, y utilizan conjuntos de instrucciones que son casi idénticos. [1]
Las GPU anteriores generalmente incluían dos tipos de hardware de sombreado, y los sombreadores de vértices tenían considerablemente más instrucciones que los sombreadores de píxeles más simples . Esto redujo el costo de implementación de la GPU en su conjunto y permitió más sombreadores en total en una sola unidad. Esto se hizo a costa de hacer que el sistema fuera menos flexible y, a veces, dejar un conjunto de sombreadores inactivo si la carga de trabajo usaba uno más que el otro. A medida que continuaron las mejoras en la fabricación , esta distinción se volvió menos útil. ATI Technologies introdujo una arquitectura unificada en el hardware que desarrolló para la Xbox 360. Nvidia siguió rápidamente con su diseño Tesla . AMD introdujo un sombreador unificado en forma de tarjeta dos años después en la línea TeraScale . El concepto ha sido universal desde entonces.
Las primeras abstracciones de sombreadores (como Shader Model 1.x) utilizaban conjuntos de instrucciones muy diferentes para los sombreadores de vértices y píxeles, y los sombreadores de vértices tenían un conjunto de instrucciones mucho más flexible. Los modelos de sombreadores posteriores (como Shader Model 2.x y 3.0) redujeron las diferencias y se acercaron al modelo de sombreador unificado. Incluso en el modelo unificado, el conjunto de instrucciones puede no ser completamente el mismo entre los diferentes tipos de sombreadores; las diferentes etapas de sombreado pueden tener algunas distinciones. Los sombreadores de fragmentos/píxeles pueden calcular gradientes de coordenadas de textura implícitos, mientras que los sombreadores de geometría pueden emitir primitivas de renderizado. [1]
La arquitectura de sombreado unificada (o arquitectura de sombreado unificado ) es un diseño de hardware mediante el cual todas las unidades de procesamiento de sombreado de un hardware gráfico son capaces de gestionar cualquier tipo de tareas de sombreado. La mayoría de las veces, el hardware de la arquitectura de sombreado unificado se compone de una serie de unidades de cómputo y algún tipo de sistema de programación dinámica o equilibrio de carga que garantiza que todas las unidades de cómputo se mantengan en funcionamiento con la mayor frecuencia posible.
La arquitectura de sombreado unificada permite un uso más flexible del hardware de renderizado de gráficos. [2] Por ejemplo, en una situación con una carga de trabajo de geometría pesada, el sistema podría asignar la mayoría de las unidades de cómputo para ejecutar sombreadores de vértices y geometría. En casos con una carga de trabajo de vértices menor y una carga de píxeles pesada, se podrían asignar más unidades de cómputo para ejecutar sombreadores de píxeles.
Si bien el hardware de arquitectura de sombreado unificado y las interfaces de programación de modelos de sombreado unificados no son un requisito entre sí, una arquitectura unificada es más sensata cuando se diseña hardware destinado a soportar una API que ofrece un modelo de sombreado unificado.
OpenGL 3.3 (que ofrece un modelo de sombreado unificado) aún se puede implementar en hardware que no tenga una arquitectura de sombreado unificada. De manera similar, el hardware que admita API de modelos de sombreado no unificados podría basarse en una arquitectura de sombreado unificada, como es el caso del chip gráfico Xenos en Xbox 360 , por ejemplo.
La arquitectura de sombreado unificada se introdujo con las series Nvidia GeForce 8 , ATI Radeon HD 2000 , S3 Chrome 400 , Intel GMA X3000, GPU de Xbox 360 , Qualcomm Adreno 200 , Mali Midgard, GPU PowerVR SGX y se utiliza en todas las series posteriores.
Por ejemplo, el sombreador unificado se denomina "núcleo CUDA" o "núcleo sombreador" en las GPU NVIDIA , y "núcleo ALU" en las GPU Intel .
Nvidia
Intel
Intel/AMD