Noticias, Gadgets, Android, Móviles, Descargas de Aplicaciones

AMD promociona la tecnología Asynchronous Shader en su arquitectura GCN

AMD acaba de anunciar una capacidad que ya se ha incorporado a sus GPU basadas en GCN, que habilita algo llamado Asynchronous Shaders. Los sombreadores asíncronos son una característica de las API nuevas o de próxima generación como DirectX 12, Vulkan y el propio Mantle de AMD que permite que ciertas tareas, que se han ejecutado previamente de forma sincrónica y en un solo flujo en las GPU actuales, se ejecuten en paralelo.

Como su nombre indica, Asynchronous Shaders alude a la capacidad de una GPU para ejecutar instrucciones de sombreado de forma independiente y desincronizada. La tecnología aprovecha un trío de colas de carga de trabajo para manejar de manera efectiva múltiples flujos de trabajo y utilizar de manera más eficiente los recursos de GPU disponibles con tareas que se pueden paralelizar.

Tal como está hoy, aunque muchas tareas de procesamiento de gráficos son paralelizables, se ejecutan secuencialmente desde una sola cola y en un orden predeterminado. Sin embargo, con los sombreadores asíncronos, hay tres colas diferentes disponibles: una cola de gráficos, una cola de procesamiento y una cola de copia, y las tareas de las diferentes colas se pueden programar de forma independiente. La cola de gráficos es para manejar las tareas de renderización primarias, la cola de cómputo es para cosas como efectos físicos, de iluminación y de posprocesamiento, y la cola de copia es para transferencias de datos.diapositiva 8En el ejemplo de la diapositiva anterior, hay una sola cola en DirectX 11 para la física, la iluminación y las transferencias de datos, que se ejecuta de forma sincrónica en una única transmisión que requiere X cantidad de tiempo. Sin embargo, cada uno de estos efectos utiliza diferentes recursos de GPU, y la ejecución de un comando no necesariamente necesita que los resultados de un comando anterior se completen correctamente, por lo que no hay ninguna razón técnica, aparte de las limitaciones de la API, por la que no pueden ser ejecutado al mismo tiempo.diapositiva 7Con Asynchronous Shaders y Direct X12 (o Vulkan o Mantle), las tareas se dividen en las tres colas disponibles y se paralelizan. El resultado final es que se puede realizar el mismo trabajo en menos tiempo, lo que puede reducir la latencia, aumentar la velocidad de fotogramas o ambas cosas. Los recursos de la GPU se utilizan de manera más eficiente y el rendimiento aumenta de manera efectiva.diapositiva 2Este ejemplo muestra cómo un motor de juego moderno puede utilizar las colas de gráficos, cómputo y copia disponibles para representar tareas, calcular cargas de trabajo y transferir datos. AMD afirma que el modelo representado aquí ya es familiar para los desarrolladores que optimizan sus motores para consolas de juegos. Y como fue el caso en el ejemplo anterior, todas las colas se pueden ejecutar en paralelo para utilizar mejor los recursos de la GPU y maximizar la mejora potencial del rendimiento.diapositiva 3Es posible aprovechar los sombreadores asíncronos con las GPU basadas en GCN de AMD gracias a algo que AMD llama motores de cómputo asíncronos, indicados por los ACE que flanquean el procesador de comandos en el diagrama de bloques anterior. (En la parte superior del diagrama)diapositiva 4Puede haber hasta 8 motores de cómputo asíncronos por GPU en los productos actuales basados ​​en Hawaii como la Radeon R9 290X, y cada ACE puede administrar hasta 8 colas, todas operando en paralelo con el procesador de comandos. Los motores de cómputo asíncronos tienen acceso a la caché L2 de la GPU y la caché compartida de datos globales, y también ofrecen un cambio de contexto rápido.diapositiva 5En una demostración del SDK LiquidVR de AMD, una escena se procesa con los Shaders asincrónicos y los efectos de posprocesamiento desactivados, y se procesa a aproximadamente 245 fotogramas por segundo. Active los efectos de posprocesamiento con los sombreadores asíncronos aún deshabilitados y la velocidad de fotogramas cae a 158 FPS. Sigue siendo rápido, pero obviamente es una caída significativa en el rendimiento. Sin embargo, con los sombreadores asíncronos activados, el rendimiento vuelve a subir al rango de 230 FPS.diapositiva 6Los Shaders asincrónicos tienen muchas aplicaciones además de la realidad virtual, y ya se están usando en la PS4 en juegos como Battlefield 4, InFAMOUS Second Son y The Tomorrow Children, y en la PC en la versión Mantle de Thief, pero pueden ser particularmente útil para cosas como la distorsión de tiempo asincrónica para minimizar la latencia de seguimiento de cabeza al ejecutar el procesamiento de imágenes de realidad virtual en paralelo con la representación de la escena real. La distorsión de tiempo asincrónica también es una capacidad de las GPU basadas en Maxwell de NVIDIA; lo discutimos y algunas otras características relacionadas con las tecnologías VR Direct de NVIDIA en nuestra cobertura inicial del lanzamiento de GeForce GTX 980.

Hay muchos beneficios potenciales para los sombreadores asíncronos. Debido a que muchas cargas de trabajo en serie se pueden dividir y paralelizar, los recursos de la GPU que normalmente permanecerían inactivos durante períodos relativamente largos se pueden utilizar de manera más completa para ejecutar cargas de trabajo más rápido y, en general, mejorar el rendimiento, tanto en términos de latencia como de velocidad de fotogramas. La latencia más baja es una ventaja obvia para las aplicaciones de realidad virtual porque puede hacer que el usuario se sienta más conectado a la escena, al minimizar el retraso asociado con un seguimiento de cabeza preciso. Y mejorar el rendimiento efectivo de una GPU podría permitir a los desarrolladores utilizar efectos gráficos adicionales para, en última instancia, mejorar la calidad de la imagen, sin dejar de alcanzar un objetivo de rendimiento específico.