Más detalles sobre la arquitectura HSA que incluirán las nuevas APU Kaveri de AMD
La arquitectura HSA o "Arquitectura de Sistemas Heterogéneos" es un nuevo paso en los sistemas integrados para conseguir una integración más fuerte y natural de los distintos elementos de los SoC, es decir, de la CPU, GPU y memoria, haciendo mucho más sencilla la tarea de programar aplicaciones y juegos para los desarrolladores y permitiendo una mayor eficiencia y rendimiento de los chips. El auge de los dispositivos móviles hace que los chips integrados o SoCs tengan cada vez más presencia en el mercado, por lo que una arquitectura que mejore su eficiencia y rendimiento es algo de gran interés tanto para fabricantes como para desarrolladores y usuarios finales.
Esta nueva arquitectura de la que ya os hemos hablado en más de una ocasión llega de la mano de la HSA Foundation, un grupo de empresas entre las que destaca AMD, ARM, Qualcomm, Samsung, Texas Instrument, Mediatek o LG como promotor entre otras. HSA, además, es una arquitectura abierta a cualquier fabricante o desarrollador, con documentación y estándares libres y sin necesidad del pago ni cobro de royaties.
Cómo decíamos, la nueva arquitectura permitirá una comunicación mucho más directa entre CPU y GPU utilizando un sistema de memoria común, evitando así copias innecesarias de los datos que requieran ser utilizados por la CPU y la GPU, pudiendo acceder ambas al espacio de memoria compartido directamente. Esto permite que, por ejemplo, en la ejecución de aplicaciones OpenCL, a parte de evitar copias de datos entre ambos componentes al permitir acceder al mismo espacio de memoria, o incluso permitiendo el uso de punteros desde la GPU, permitirá una menor latencia y un uso más eficiente de los recursos.
También es posible convertir bytecode de Java a OpenCL, es decir, partes de programas hechos en java podrán pasarse a OpenCL de manera automática para hacer uso de la GPU y acelerar dichos programas, esto estará enfocado a Java 9, la nueva versión que se espera para el 2015.
Sin meternos más en detalles excesivamente técnicos, vamos a dar un repaso a ciertas funciones y utilidades reales de HSA. Uno de los ejemplos mostrados por la HSA Foundation es el reconocimiento facial en una imagen o captura. Realizando el proceso de detección de rostros combinando GPU y CPU compartiendo datos directamente, al realizar distintas iteraciones del algoritmo en HSA permite distribuirlas entre la GPU y la CPU dependiendo del tipo de cálculo necesario y consiguiendo un aumento de más del doble de rendimiento y reduciendo a menos de la mitad la energía consumida.
Del mismo modo, tareas como la búsqueda de texto en Arrays de sufijos también se benefician al aplicar algoritmos en sistemas HSA aumentando el rendimiento de forma extrema mientras se reduce la energía consumida respecto a utilizar la CPU o GPU de manera convencional.
En el aspecto lúdico, la arquitectura HSA también puede optimizar la experiencia de juegos, por ejemplo entrando en la simulación de físicas. Actualmente la aceleración de físicas por GPU está presente en varios títulos, ya sea mediante OpenCL, Direct Compute u otras tecnolías como Physx de Nvidia. Este tipo de físicas es que se trata de efectos visuales que se usan como efecto visual más que en el propio sistema de juego. Con HSA los cálculos entre los objetos que vemos en la pantalla y sus interacciones entre ellos, por ejemplo, un choque y sus efectos, pueden calcularse de manera más eficiente, ya que la parte del motor del juego que calcula esas interaciones (CPU) y el motor de físicas por GPU , podrían compartir directamente los datos sobre la posición y características al utilizar un mismo espacio de memoria accesible.
Esta nueva arquitectura llegará a los ordenadores personales a principios del 2014 cuando las APU Kaveri de AMD hagan su aparición en el mercado con el nuevo socket FM2+, sin embargo, como hemos podido ver, la arquitectura HSA tiene unas aplicaciones enormes en el campo de los sistemas integrados como los de por ejemplo smartphones y tablets.
Fin del Artículo. ¡Cuéntanos algo en los Comentarios!