Entrevistamos a Phil Rogers, Corporate Fellow de AMD, sobre las nuevas APU Kaveri con HSA

por Antonio Delgado 14/01/2014 ...

Durante el CES 2014 en Las Vegas hemos tenido la oportunidad de entrevistarnos con Phil Rogers, Corporate Fellow de AMD y uno de los principales impulsores de la integración de GPU y CPU, y por tanto de las actuales APU de AMD, que ha sido capaz de mostrarnos los entresijos más específicos y técnicos ante ciertas preguntas sobre las nuevas APU Kaveri que presentó la compañía en un evento propio.

Entrevista:

HZ: Hemos visto que con Kaveri se consiguen 30 FPS en los juegos más populares del momento, incluyendo Battlefield 4. ¿Qué mejora de rendimiento veremos con Kaveri  en juegos que hagan uso de la API Mantle?

Phil Rogers: Va a depender mucho de la aplicación porque Mantle mejora el rendimiento de varias maneras. Una de las maneras más relevantes es que hace el "front-ent" mucho más rápido, con "front-end" me refiero a la interfaz entre el juego o aplicación y el hardware. Hoy en día, cada vez que una aplicación entra en tiempo de ejecución para realizar una tarea, tenemos una gran cantidad de sobrecarga. También en sistemas multi-hilo se busca tener múltiples hilos de ejecución de la CPU creando trabajo para la GPU. Así que si usamos un juego con un sistema de geometría muy intensivo donde hay miles de objetos,  tienes que hacer todas esas llamadas por separado para renderizarlos. En una interfaz de hoy en día como Direct 3D se tiende a serializar todo, por lo que aunque utilices varios hilos por separado, en vez de ejecutarse en paralelo, se ejecutan uno detrás de otro.

Lo que hace Mantle es crear algo que llamamos "modelo de hilos de ejecución libres", esto significa que puedes tener 2, 3 o 4 hilos simultáneamente creando series de comandos para la GPU, por lo que si tu aplicación está limitada por el front-end, podría tener una ganancia del 30 o 40%, si la aplicación no está limitada por el front-end o interfaz entre esta y el hardware la mejora será menor.

Hay otras maneras en las que Mantle ofrece más mejora, la gestión de memoria se realiza de una manera mucho más optimizada de tal forma que una aplicación nunca se va a encontrar en el caso de quedarse sin memoria y tener que esperar a que se libere, por lo que hay un gran número de aplicaciones que se beneficiarían de estas mejoras de gestión de memoria.

Otra manera es lo que llamamos pipelines pre-compiladas. En Direct3D, los vertex shaders, pixels shaders y geometry shaders son compilados de manera independiente por separado, por lo que no pueden ser utilizados en varias pipelines diferentes. Con Mantle permitimos al desarrollador elegir qué  shaders se utilizarán en una pipeline y después optimizarla, entonces la transferencia entre la aplicación y la APU será más rápida, consiguiéndose una mejora del 30 o 50%, todo depende de los shaders y donde tengamos oportunidad de optimizar.

Entrevistamos a Phil Rogers, Corporate Fellow de AMD, sobre las nuevas APU Kaveri con HSA, Imagen 1

HZ: Así que depende de las decisiones del desarrollador.

Phil Rogers: Una mejora en torno al 30% debería ser lo habitual.

HZ: A medida que aumenta la potencia de las APUs, en este caso con Kaveri, la memoria DDR3 está creando un más que evidnete cuello de botella ¿Cómo espera AMD solucionar eso en el futuro?

Phil Rogers : AMD siempre está trabajando activamente en los estándares de memoria, trabajamos continuamente con el comité del JDEC y los fabricantes de memoria para avanzar en el estado de la tecnología de memoria RAM. Estamos considerando la GDDR5 por ejemplo, y es claramente una buena opción para las APU en el futuro, es más rápida que la DDR3 y podemos utilizar más canales si lo necesitamos. También hay otras tecnologías que estamos investigando en el futuro para ampliar más el bus de datos de memoria de manera que sea rentable y eficiente.

HZ: En caso de utilizar una APU Kaveri junto con una gráfica dedicada sin utilizar Crossfire en un juego optimizado para la arquitectura HSA ¿La APU podría utilizar su propia GPU para acelerar aspectos como las físicas mientras la gráfica dedicada hace el resto del trabajo?

Phil Rogers: Exacto, esa es la manera en la que debería funcionar, cuando tu tienes un juego existen ciertos cálculos anteriores al flujo de datos que va a la GPU y muy a menudo hay algunos cálculos posteriores. Por ejemplo tenemos las físicas, sistema de colisiones y detección de objetos, inteligencia artificial, mecánicas de grupos. Todos ellos son buenas opciones para calcular mediante la arquitectura HSA en la APU y luego enviar los datos ya procesados al flujo de datos que va a la gráfica dedicada.

Al final de ese flujo de datos, a menudo existe un post-procesado que empieza en el frame buffer para hacer cosas como efectos de motion blur o gestión del color. Si tu tienes una APU calculando la inteligencia artificial y las físicas y luego una GPU dedicada para toda la carga gráfica, puedes hacer el post-procesado en la dedicada . Sin embargo si tienes únicamente una APU, esta puede hacer el post-procesado mediante la arquitectura HSA.

Siempre es importante tener un flujo de datos limpio, entonces si tienes una APU junto con una gráfica dedicada y la APU realiza la aceleración de la IA o físicas y la GPU el prost procesado y renderizado gráfico, mantienes un flujo de dato limpio en todo momento.

HZ: En términos de preico, los precios de Kaveri son un poco más elevados que con las actuales APU Richland, ¿Crees que Kaveri sustituirá a los actuales Richland? ¿Se descatalogarán las APU Richland en detrimento de las nuevas Kaveri?.

Phil Rogers : No lo se, no se cuales son los planes para descatalogar Richland, Ambas pueden convivir en el mercado, las APU Richland son un muy buen producto, están muy optimizadas y son muy populares. Kaveri tiene funcionalidades nuevas y mejoras en rendimiento. No conozco los planes pero puedo imaginarme ambas APU vendiéndose simultáneamente.