Nuevas características de DX12 en Microsoft Shader Model 6.10 y la versión preliminar de AgilitySDK 720 para renderizado neuronal.

Nuevas características de DX12 en Microsoft Shader Model 6.10 y la versión preliminar de AgilitySDK 720 para renderizado neuronal.

Microsoft ha anunciado el lanzamiento de la versión preliminar de Shader Model 6.10 y AgilitySDK 1.720, ampliando significativamente las capacidades de la API DX12 con nuevas funciones dirigidas a los desarrolladores.

Funcionalidades mejoradas en Shader Model 6.10 y AgilitySDK 1.720

La última introducción se basa en las mejoras anteriores de Shader Model 6.9 y DXR 1.2, ambas incluidas en la versión 1.619 de AgilitySDK. La vista previa de AgilitySDK 1.720 muestra varias características nuevas para mejorar la API DX12, que se detallan a continuación:

  • Shader Model 6.10 (a través de DXC 1.10.2605.2):
    • API de álgebra lineal (linalg::Matrix)
    • Índice de onda grupal
    • Memoria compartida de grupo variable
    • Características intrínsecas del trazado de rayos:
      • Posiciones de objetos triangulares
      • ID de clúster

Presentación de las API de álgebra lineal (linalg::Matrix)

Shader Model 6.10 integra un conjunto completo de API de matriz bajo el paraguas de LinAlg. Esta integración permite a los desarrolladores implementar de forma eficiente técnicas de renderizado neuronal directamente desde los subprocesos de sombreado, mejorando el rendimiento de la canalización gráfica en tiempo real. Además, admite operaciones de multiplicación de matrices (MMA) de alto ancho de banda para aplicaciones de aprendizaje automático y procesamiento de imágenes, todo dentro de un único marco de API.

Modelos neuronales para renderizado en tiempo real

Índice de Ondas de Grupo: Mejora del rendimiento de los sombreadores

Se han añadido nuevas funciones intrínsecas, GetGroupWaveIndex() y GetGroupWaveCount(), al Shader Model 6.10. Estas permiten que diversos tipos de sombreadores (de cómputo, malla, amplificación y nodo) obtengan información sobre las estructuras a nivel de onda dentro de un grupo de hilos. La funcionalidad que proporciona GetGroupWaveIndex() ofrece el índice de la onda actual, mientras que GetGroupWaveCount() revela el número total de ondas en ejecución en el grupo. Esta capacidad fomenta la especialización del trabajo y la colaboración entre ondas sin necesidad de soluciones alternativas poco fiables, como el método obsoleto de dividir SV_GroupIndex mediante WaveGetLaneCount(), que carece de fiabilidad universal en el hardware.

Memoria compartida de grupo variable: nuevas posibilidades

Otra mejora importante en Shader Model 6.10 es la eliminación del límite anterior de 32 KB (28 KB para sombreadores de malla) en la memoria compartida de grupo. Al exponer el límite real del hardware mediante una nueva consulta en tiempo de ejecución, MaxGroupSharedMemoryPerGroup, los autores de sombreadores ahora pueden usar atributos personalizados para especificar el tamaño de memoria requerido para sus sombreadores. Esta transición permite acceder a las capacidades de las GPU modernas, al tiempo que garantiza que el código existente mantenga la compatibilidad con los límites anteriores. En consecuencia, los desarrolladores ahora pueden implementar algoritmos avanzados, como el descarte de grandes mosaicos y cargas de trabajo de matrices complejas, sin las restricciones de las especificaciones anteriores.

Explorando las características de D3D12

API de lista de comandos asíncronos por lotes

La introducción de los comandos por lotes de D3D12 soluciona los problemas de serialización inherentes a comandos anteriores como CopyBufferRegion, ClearUnorderedAccessViewFloat/Uint, y ResolveSubresource, que se ejecutaban en secuencia. Esta limitación provocaba bloqueos de la GPU, retrasando las operaciones independientes. La nueva función de comandos asíncronos por lotes permite a los desarrolladores utilizar métodos avanzados de lista de comandos que eliminan la serialización implícita, permitiendo que el hardware superponga tareas independientes. Ahora, los desarrolladores tienen la libertad de sincronizar explícitamente con barreras mejoradas solo cuando sea necesario, lo que facilita una mayor eficiencia en cargas de trabajo concurrentes.

Todos los principales fabricantes de hardware, incluidos NVIDIA, AMD e Intel, ya están dando soporte a estas versiones preliminares:

Proveedor de hardware Enlaces del controlador
AMD Software AMD: AgilitySDK Developer Preview Edition 25.30.41.02
Intel Gráficos Intel Arc – Windows
NVIDIA Para acceder a los controladores en desarrollo, póngase en contacto con su representante de relaciones con desarrolladores.

En cuanto a la compatibilidad de hardware, NVIDIA ofrece una amplia gama de funciones en toda su línea de GPU RTX, mientras que AMD e Intel restringen funcionalidades específicas a sus últimas ofertas, como la serie Arc B y RDNA 4 (Radeon RX 9000).En concreto, las GPU RX 7000 y RX 9000 de AMD son compatibles con Group Wave Index, mientras que NVIDIA planea implementarlo en una próxima actualización. Las futuras actualizaciones de Intel también incluirán compatibilidad con la nueva API de álgebra lineal.

AMD Intel NVIDIA
linAlg::Matriz Compatible con productos de la serie AMD Radeon RX 9000. Previsto para un próximo lanzamiento. Compatible con todo el hardware RTX.
Índice de onda grupal Compatible con los productos de las series AMD Radeon RX 7000 y 9000. Compatible con tarjetas gráficas Intel Arc de la serie B. Previsto para un próximo lanzamiento.
Memoria compartida de grupo variable Actualmente admite el límite de memoria predeterminado; se prevé que en futuras versiones del controlador se implementen límites superiores. Compatible con tarjetas gráficas Intel Arc de la serie B. Compatible con todo el hardware RTX; los valores varían según el dispositivo.
Parámetros intrínsecos del trazado de rayos: TriangleObjectPositions/ClusterID Compatible con los productos de las series AMD Radeon RX 7000 y 9000. Compatible con tarjetas gráficas Intel Arc de la serie B. Compatible con todo el hardware RTX.
API de lista de comandos asíncronos por lotes Compatible con los productos de las series AMD Radeon RX 7000 y 9000. Compatible con tarjetas gráficas Intel Arc de la serie B. Compatible con todo el hardware RTX.

Para obtener información adicional e imágenes relacionadas con este anuncio, consulte la fuente original: Fuente e imágenes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *