AMD desvela Heterogeneus Queuing, el sistema de comunicación entre CPU y GPU de la arquitectura HSA

por Antonio Delgado 22/10/2013 ...

Hemos seguido muy de cerca la nueva arquitectura HSA (Arquitectura de Sistemas Heterogéneos), una tecnología desarrollada por la HSA Foundation (AMD, Qualcom, Samung, LG, etc...) y que pronto veremos en PC en las próximas APU Kaveri de AMD. Esta tecnología permite una comunicación directa entre GPU y CPU pudiendo acceder al mismo espacio de memoria directamente y permitiendo que los desarrolladores saquen el máximo provecho tanto a la CPU como a la GPU integrada en SoCs o chips como las APU de AMD.

En su día ya os explicamos en qué consistía hUMA (heterogeneus Uniform Memory Access), el sistema utilizado para permitir que tanto la CPU como la GPU puedan acceder al mismo espacio de memoria directamente, evitando tener que andar copiando datos previamente para enviarlos a la GPU y consiguiendo unas latencias menores y un mayor rendimiento, parte imprescindible de la arquitectura HSA.

AMD desvela Heterogeneus Queuing, el sistema de comunicación entre CPU y GPU de la arquitectura HSA, Imagen 1

Para entender mejor como funciona esta arquitectura hoy os hablaremos del heterogeneus Queuing (hQ), que no es otra cosa que la manera en la que la CPU y la GPU de una APU interactúan entre sí a nivel de tareas de cómputo. Hasta ahora, el proceso normal es que un programa o aplicación genere tareas que se almacenan en una cola de tareas para que la CPU las procese, una vez procesadas se generan nuevas tareas, y aquellas creadas para la GPU, se envían desde la CPU hacia la GPU, por medio del sistema operativo y posteriormente por el Driver de la GPU, que genera una cola de tareas específica para la GPU. Por lo que desde que una aplicación genera una tarea para la GPU, hasta que realmente llega a la GPU, tiene que pasar por una o varias colas de la CPU, que a su vez la envía a la GPU mediante el sistema operativo, perdiendo bastante tiempo en el camino.

Además la GPU en el modelo tradicional, al contrario que la CPU, no puede generar nuevas tareas, solamente procesar la que se le envía desde el núcleo del sistema operativo.

AMD desvela Heterogeneus Queuing, el sistema de comunicación entre CPU y GPU de la arquitectura HSA, Imagen 2

Con HSA y el modelo de colas heterogéneas, la GPU y la CPU podrán generar tareas y enviarlas directamente de un chip a otro sin necesidad de pasar por el sistema operativo y driver, permitiendo a la GPU también enviar tareas a la CPU o generar nuevas tareas para procesar por ella misma. Todo esto se realiza a nivel de hardware, sin necesidad de una conversión de software anterior para que traduzca el tipo de órdenes ni limitado a un fabricante de chips en concreto (por ejemplo AMD, Qualcomm, etc). De esta manera, un programa o software puede enviar directamente tareas a la GPU, sin tener que pasar previamente por la CPU, consiguiendo una ejecución y procesamiento mucho más eficiente.

Esto permite también que se aproveche de manera más eficiente las posibilidades de la GPU y de la CPU, ya que incluso dentro de un mismo programa y una tarea o algoritmo en concreto, hay partes que se realizan de manera óptima en la CPU y otras que se realizan mejor en la GPU, de esta forma no es necesario procesar todo en uno u  otro chip de manera preestablecida, ya que es posible que durante el proceso, ambos chips se vayan enviando tareas dependiendo de las necesidad, consiguiendo así la máxima optimización y todo ello sin depender del sistema operativo o los drivers para enviar las tareas de uno a otro. 

Esto es posible también gracias a hUMA, ya que tanto la CPU como la GPU pueden acceder al mismo espacio de memoria y enviarse datos directamente sin necesidad de copiarlos previamente.

AMD desvela Heterogeneus Queuing, el sistema de comunicación entre CPU y GPU de la arquitectura HSA, Imagen 3

La arquitectura HSA llegará al PC de la mano de AMD y sus APU Kaveri a principios de 2014. Este sistema se utiliza también en las consolas de nueva generación, gobernadas precisamente por APUs personalizadas de la compañía. Se espera que la arquitectura HSA se integre en chips móviles y sistemas integrados en un futuro.