Gracias a su extenso trabajo sobre las arquitecturas de sistemas heterogéneos (HSA), AMD desarrolló herramientas para que las aplicaciones basadas en CUDA (que normalmente sólo funcionan con GPUs de Nvidia) puedan correr sobre sus procesadores gráficos. El conjunto de herramientas se conoce como la “Iniciativa Boltzmann”.
La “Iniciativa Boltzmann” tiene por objetivo aprovechar la capacidad de HSA para obtener por medio del software la máxima eficiencia de cómputo de las CPUs y de las GPUs AMD FirePro. Los primeros resultados de la iniciativa incluyen al Heterogeneous Compute Compiler (HCC); infraestructura de drivers Linux y runtime HSA para cómputo de alta performance (HPC), y la herramienta Heterogeneous-compute Interface for Portability (HIP) para migrar aplicaciones CUDA a un modelo común de programación C++. Las herramientas están diseñadas para impulsar la performance de las aplicaciones a lo largo de mercados que van desde aprendizaje de máquina a dinámica molecular, y de exploración de yacimientos petrolíferos a creación de efectos visuales e imágenes generadas por computadora.
“La interfaz de portabilidad para cómputo heterogéneo (HIP) de AMD habilita una migración de performance para la comunidad HPC”, dijo Jim Belak, investigador del departamento de energía de EE.UU. y del Lawrence Livermore National Laboratory. “La capacidad de tomar el código que fue escrito para una arquitectura y llevarlo a otra arquitectura sin un impacto negativo en la performance es algo extremadamente poderoso. El trabajo que está haciendo AMD para producir un compilador de alta performance que se ubica debajo de los modelos de programación de alto nivel permite a los investigadores concentrarse en resolver problemas y publicar resultados revolucionarios, en lugar de preocuparse de optimizaciones específicas de hardware”.
La promesa de combinar CPUs multi-núcleo de procesamiento en serie con GPUs de procesamiento paralelo para maximizar la eficiencia de cómputo ya puede verse en la industria, gracias al impulso de la Heterogeneous System Architecture (HSA) Foundation, que tiene a AMD como miembro fundador. Uno de los objetivos de HSA es facilitar el desarrollo de aplicaciones paralelas a través del uso de lenguajes de alto nivel. La nueva suite “Boltzmann Initiative” de AMD incluye un compilador HCC para C++, cosa que expande sustancialmente el campo de acción para los programadores que utilizan HSA. El nuevo compilador HCC C++ es una herramienta clave para permitir a los desarrolladores aplicar fácil y eficientemente los recursos del hardware en los sistemas heterogéneos. El compilador ofrece un desarrollo simplificado vía ejecución de única fuente, con el código de CPU y de GPU en el mismo archivo. Dicho compilador automatiza la redirección del código hacia la unidad de ejecución más conveniente para lograr una máxima eficiencia.
“Así como nuestros clientes están entusiasmados con nuestra innovación de hardware, incluyendo la presentación este año de la primera GPU con High Bandwidth Memory y nuestra nueva arquitectura x86 prevista para el año próximo, nuestras innovaciones en desarrollo de software son igualmente importantes para ellos”, dijo Mark Papermaster, vicepresidente senior y CTO de AMD. “El desafío fue siempre desbloquear las capacidades de hardware y hacerlas fácilmente accesibles para los desarrolladores que trabajan resolviendo problemas difíciles. Las nuevas ofertas de AMD brindan las claves a un acceso más directo a nuestros motores de cómputo paralelo (tanto CPUs multinúcleo como GPUs) y para poner a los beneficios a disposición de los desarrolladores de rango medio a lo largo de un amplio espectro de plataformas de cómputo, desde dispositivos embebidos hasta supercomputadoras”.
Con respecto a la herramienta HIP para migrar aplicaciones CUDA a plataformas AMD, los testeos muestran que en muchos casos, un 90 por ciento o más del código CUDA puede convertirse automáticamente a C++ mediante HIP, quedando el 10 por ciento final para convertirse manualmente utilizando lenguaje C++. Esto expande ampliamente la base de hardware disponible para correr aplicaciones desarrolladas en CUDA.
Se planea que las herramientas “Boltzmann Initiative” estén disponibles para acceso temprano durante el primer trimestre de 2016.









