AMD abre la puerta al procesamiento heterogéneo

Hola y mil gracias por leerme. Te escribe Simón Sánchez y esta vez hablaremos sobre AMD abre la puerta al procesamiento heterogéneo

La semana pasada, AMD utilizó su Financial Analyst Day para hablar sobre la computación heterogénea, la tecnología a la que la compañía está apostando como la próxima «gran novedad» en la industria de los microprocesadores. Con ese fin, los ejecutivos de la compañía explicaron cómo su nueva arquitectura de sistema heterogéneo (HSA) evolucionará durante los próximos tres años para hacer avanzar la hoja de ruta del producto.

HSA, que hasta hace poco se conocía como arquitectura Fusion, es el diseño de la plataforma AMD para integrar núcleos de CPU y GPU en el mismo chip. Pero HSA es más que el intento de AMD de definir una arquitectura para uso interno, como es el caso de Fusion. Más bien, HSA es una especificación abierta que AMD quiere que la industria adopte como una plataforma de facto para el procesamiento heterogéneo.

Como informamos a principios de esta semana, las aspiraciones informáticas heterogéneas de AMD a corto plazo se centrarán en expandir sus victorias en la Unidad de procesamiento acelerado (APU) a los dispositivos informáticos del cliente, como computadoras portátiles y tabletas. Pero el fabricante de chips tiene sus sitios configurados para eventualmente mover estos chips al mercado de servidores, donde las cargas de trabajo de aplicaciones como HPC y el servicio web multimedia pueden beneficiarse de la integración CPU-GPU sobre silicio.

Vale la pena señalar que en los próximos tres años AMD tiene la intención de evolucionar el conjunto de características de HSA hacia una mayor integración y características más avanzadas, características que se integran perfectamente con el trabajo del servidor. Por ejemplo, para 2013, el fabricante de chips planea admitir una memoria totalmente consistente y un espacio de direcciones unificado para CPU y GPU, y para 2014, HSA habilitará funciones como la conmutación de contexto de GPU y la compatibilidad con QoS. Es probable que NVIDIA tenga una hoja de ruta similar cuando lance sus próximas ofertas de «Proyecto Denver» (ARM-GPU), pero solo AMD ha ofrecido una hoja de ruta pública con tantos detalles.

Todo esto supone que la industria está lista y dispuesta a adoptar la computación heterogénea como la tecnología revolucionaria que AMD cree que es. Si bien la heterogeneidad del sistema ya está bastante bien aceptada por la comunidad de HPC, la comunidad de TI en general, y especialmente el espacio de computación móvil, apenas está comenzando a ver los beneficios. Entonces, parte de los esfuerzos de AMD la semana pasada se centró en defender ese caso.

En una sesión extraordinaria en el Día del Analista Financiero, el Compañero Corporativo de AMD Phil Rogers recordó a la audiencia que la Ley de Moore, que lideró la era de la computación de un solo núcleo y multinúcleo, ahora está limitada por el poder. La solución es utilizar el presupuesto disponible para los transistores de manera más inteligente, es decir, diseñar los chips para que sean mucho más eficientes en la ejecución de cargas de trabajo en paralelo.

«Hoy en día se está realizando demasiado procesamiento paralelo en procesadores que no fueron diseñados específicamente para ese proceso», dijo Rogers. «Lo que significa es un desperdicio de energía y el desperdicio de energía hoy es imperdonable».

Ese mensaje, que es esencialmente lo que NVIDIA ha estado predicando durante años, implica que las CPU, si bien son buenas para el procesamiento en serie, no han podido entregar los productos con procesamiento paralelo, especialmente cargas de trabajo de datos paralelas. Las GPU, por otro lado, pueden ofrecer paralelismo basado en la carga del barco y en un paquete de eficiencia energética.

Integrar las dos arquitecturas juntas, donde la GPU es un coprocesador en chip, es la solución óptima, dice Rogers. De esta manera, los dos procesadores se colocan en el mismo subsistema de memoria, lo que no solo hace que la comunicación de datos entre núcleos dispares sea más eficiente, sino que también simplifica enormemente el modelo de programación para la computación GPU al llevarlo al ámbito de Symmetric Multi Procesamiento (SMP).

Al menos esa es la idea detrás de HSA. Actualmente, la especificación está circulando entre los socios de AMD y la competencia, en un esfuerzo por obtener comentarios de las partes interesadas, pero lo que es más importante, obtener el consentimiento del proveedor. El objetivo es crear un ecosistema lo suficientemente grande y amplio para admitir las ofertas de APU de AMD.

Específicamente, la idea es atraer a los desarrolladores e ISV para que escriban aplicaciones según las especificaciones, con la promesa de que el software se ejecutará automáticamente en el hardware de cualquier persona. Para que esto sucediera, AMD tuvo que idear una especificación arquitectónica lo suficientemente genérica como para ser aplicada a diferentes microprocesadores: CPU, GPU o una mezcla de los dos. Por ejemplo, la especificación incluye un denominado «ISA virtual» que tiene por objeto hacer que el conjunto de instrucciones de la arquitectura sea agnóstico.

Por supuesto, la neutralidad de la plataforma también fue la fuerza impulsora detrás de OpenCL, un estándar de programación abierto para programación paralela introducido en 2008 y que ha atraído a un gran grupo de seguidores. HSA y OpenCL son compatibles, ya que HSA se lanza como una «Arquitectura de plataforma optimizada de OpenCL». Esto significa que inicialmente, al menos, algunas funciones de HSA deberán implementarse como extensiones de OpenCL. Según Rogers, algunas de estas características, como la eliminación de copias de datos y el envío de baja latencia, harán que los códigos OpenCL sean más eficientes.

El mayor problema es que OpenCL es un lenguaje de bajo nivel que los programadores tradicionales generalmente odian usar. El conjunto de características de alto nivel de HSA está más Online con el nuevo C ++ AMP (Paralelismo masivo acelerado) de Microsoft, una extensión de C ++ orientada a la programación paralela en GPU. Rogers cree que la extensión proporciona una plataforma de programación natural para las HSA y una forma de aprovechar el vasto repositorio de código C ++. Dado que Microsoft planea transformar C ++ AMP en Visual Studio y Windows 8 Metro, AMD tendrá potencialmente una forma de conectar HSA con el gran contingente de desarrolladores y usuarios de Windows.

La pregunta sigue siendo si Intel, NVIDIA y al menos algunos de los proveedores de ARM comprarán la versión informática heterogénea de AMD. Aunque Rogers afirmó haber pasado la especificación HSA a algunos de sus competidores y recibió algunos comentarios, AMD no está lista para nombrar nombres. En general, Intel y NVIDIA están dispuestos a adoptar cualquier estándar abierto que su base de clientes esté dispuesta a adoptar, pero cada uno también tiene marcos paralelos internos para promover – CUDA para NVIDIA y Threading Building Blocks y Cilk Plus para Intel – todos los cuales son potencialmente independiente del hardware. Con AMD lanzando HSA sobre la mesa, la competencia por la participación de la computación en paralelo se vuelve un poco más interesante.

No te olvides compartir en en tu Twitter y Facebook para que tus colegas lo sepan

??? ? ? ???

Comparte