Cray presenta su primera supercomputadora GPU

Hola, un placer verte por aquí. Te escribe Simón Sánchez y en el día de hoy te voy a hablar sobre Cray presenta su primera supercomputadora GPU

Cray ha publicado detalles de su supercomputadora equipada con GPU: la XK6. La máquina es un derivado del XE6, una máquina basada en AMD Opteron que la compañía anunció hace un año. Aunque Cray está llamando al anuncio de esta semana el lanzamiento de XK6, los sistemas no estarán disponibles hasta la segunda mitad del año.

El objetivo de Cray para el XK6 es permitir que las aplicaciones sean productivas con GPU a gran escala. Según Barry Bolding, vicepresidente de la división de productos de Cray, son únicos en el espacio de computación de GPU debido a su compromiso a largo plazo con el procesamiento heterogéneo y su experiencia en la construcción de sistemas de petaescala productivos. Además, señala que Cray tiene un legado de experiencia con supercomputación basada en vectores y compiladores asociados, más recientemente con su super X2, también conocido como «Black Widow».

Sin embargo, en lo que respecta al hardware, el XK6 no es tan diferente de sus hermanos basados ​​en CPU. La hoja es básicamente una variante del XE6, reemplazando cuatro de los ocho sockets AMD Opteron con módulos GPU NVIDIA Tesla. Cada blade de cuatro nodos consta de dos chips de interconexión Gemini, cuatro CPU Opteron y cuatro GPU NVIDIA Tesla de la serie 20. El Tesla en este caso es el X2090, un factor de forma compacto del módulo M2090 presentado la semana pasada. Al igual que el M2090, el X2090 tiene una GPU de 665 gigaflop (doble precisión), 6 GB de GDDR5 y 178 GB / segundo de ancho de banda de memoria. Un gabinete XK6 puede acomodar hasta 24 blades (96 nodos), lo que proporcionará algo en la región de 70 teraflops.

Cada nodo XK6 en el blade empareja una sola GPU X2090 con una CPU AMD Interlagos (Opteron 6200), junto con 16 o 32 GB de memoria DDR3 de 1600 MHz. Esta es una configuración bastante rica en CPU para un servidor basado en GPU, dado que muchos clústeres de productos usan dos, cuatro o incluso ocho dispositivos gráficos por procesador x86. Y en muchos casos, estos procesadores no son Xeon u Opteron de primera categoría.

Según Bolding, su pensamiento aquí es que no todas las cargas de trabajo de supercomputación son capaces de aprovechar al máximo las capacidades de la GPU, por lo que han optado por una combinación bastante conservadora de procesadores. «Realmente esperamos que algunas aplicaciones tomen una cantidad significativa de tiempo ejecutándose solo en la parte x86 del sistema», dijo a Calendae. «Así que realmente queremos tener un equilibrio entre cambio descendente y acelerador».

Por otro lado, es probable que algunos clientes tengan aplicaciones que ya están altamente optimizadas para GPU y, en este caso, les gustaría un sistema con una relación GPU: CPU más alta. La negrita dice que para aquellos usuarios que están dispuestos a construir máquinas personalizadas con una configuración de GPU más rica, pero no sería el XK6 estándar e implicaría más que un simple ajuste a esas hojas.

Además del hardware, el XK6 heredará la pila de software y el entorno de programación del XE6, incluido el entorno Cray Linux (CLE). Además, se agregarán bibliotecas y herramientas específicas de GPU, como el CUDA SDK de NVIDIA para programar componentes de Tesla. El soporte de GPU también será proporcionado por algunos de los software de terceros que Cray revende actualmente, como los compiladores PGI. El conjunto de compiladores PGI ya se ha ampliado para generar código GPU y se está integrando y probando con XK6. El producto CAPS para GPU empresarial HMPP también está disponible, pero a diferencia de PGI, actualmente no forma parte del conjunto de pruebas XK6 y Cray no lo revende.

Cray también desarrollará compiladores de GPU, bibliotecas de tiempo de ejecución y herramientas adicionales, además de introducir software de terceros, como la biblioteca CULA de EM Photonics, para enriquecer y hacer más productivo el entorno. La idea aquí es alinear la aceleración de la GPU con su enfoque Adaptive Supercomputing. El objetivo final es poder escribir código fuente que pueda transformarse automáticamente para ejecutarse en CPU, GPU o una combinación de los dos. El objetivo no es solo ofrecer rendimiento, dice Bolding, sino «obtener un mejor rendimiento del código más rápido».

Para impulsar esta visión, Cray está desarrollando su propio compilador basado en OpenMP que estará dirigido a la aceleración de GPU. Este es un modelo de programación de mayor nivel que CUDA, que utiliza directivas especiales dentro de la fuente de la aplicación para generar código GPU, muy parecido al que está disponible hoy en PGI. Sin embargo, a diferencia de esa oferta, la versión OpenMP de Cray se basa en directivas OpenMP estandarizadas diseñadas para abordar los aceleradores de hardware. Una versión de preproducción estará disponible para clientes selectos, dice Bolding, y será compatible con Fortran y C.

Las herramientas de programación basadas en directivas de GPU son una parte clave de la estrategia de Cray para convertir el XK6 en una máquina de GPU productiva y un intento de diferenciarlo de la cosecha actual de clústeres equipados con GPU. Bolding dice que esperan obtener la mayor parte del rendimiento disponible en entornos de programación de nivel inferior como CUDA, pero en un entorno mucho más productivo y portátil. Y mientras Cray está desarrollando un compilador OpenMP, su objetivo principal es proporcionar un entorno de programación estándar de alto nivel que sea portátil entre aceleradores. «Realmente creemos que un buen modelo de programación debe ser independiente del hardware», dijo Bolding.

La idea general de las GPU en las supercomputadoras, por supuesto, es acelerar los códigos que son susceptibles al paralelismo de datos. Un conjunto de aplicaciones que Cray prevé para estos súper es el modelado meteorológico y climático, un área en la que la empresa ha tenido un éxito especial. Para el pronóstico del tiempo, la aceleración del código puede ser particularmente crítica, ya que el requisito es proporcionar resultados precisos en tiempo real. Y para esta aplicación, la precisión del modelo está directamente relacionada con la potencia de punto flotante.

Por ejemplo, se estima que se necesitarían 0,4 petaflops para un modelo de pronóstico del tiempo con una granularidad de cuadrícula horizontal de 40 km. Pero para perfeccionar esa granularidad a 10 km, se necesitaría un sistema de 20 petaflops. Los requisitos del punto flotante son similares para proporcionar niveles más altos de granularidad en las simulaciones climáticas, pero sin la necesidad de proporcionar resultados en tiempo real. Si bien estos códigos se adaptan bastante bien a las CPU, la perspectiva de comprar un sistema con 50 veces más procesadores para proporcionar resultados más precisos es abrumadora, tanto por el costo inicial como por el gasto continuo de alimentar dicho sistema. .

Hoy en día, la forma más factible de lograr este nivel de aumento de rendimiento es con aceleradores. No es que las GPU sean particularmente baratas. Es probable que un X2090 sea de cuatro a cinco veces más caro que un Opteron de primera línea. Pero dado que un Tesla serie 20 ofrece aproximadamente 10 veces el rendimiento de punto flotante sin procesar con solo aproximadamente el doble del consumo de energía, una solución de GPU tiene sentido siempre que los códigos puedan extraer esos FLOP adicionales.

Sin embargo, una vez que se realiza el desembolso inicial, el XK6 es relativamente fácil de actualizar. Según Bolding, las GPU de próxima generación, como las futuras piezas de Kepler, se pueden conectar a las máquinas existentes con un simple intercambio de módulos en la hoja. Una vez que estén disponibles las GPU de próxima generación, Cray estima que estas supercomputadoras podrán escalar hasta 50 petaflops máximos.

Además, no es necesario construir una máquina XK6 pura. Las tarjetas GPU se pueden combinar en configuraciones XE6 existentes, que a su vez se pueden construir a partir de sistemas XT6 más antiguos insertando la interconexión Gemini.

El XK6 de primer orden de Cray representa una de esas mejoras. El Centro Nacional de Supercomputación de Suiza (CSCS) utilizará el sistema XE6m existente como base para un Cray XK6 de varios gabinetes. El sistema se utilizará para respaldar la investigación científica en predicción meteorológica, climatología, química, física, ciencia de los materiales, geología, biología, genética, medicina experimental, astronomía, matemáticas e informática.

Para que los suizos o cualquier otra persona experimente toda esta bondad de la GPU, tendrán que esperar al menos unos meses. Si bien la disponibilidad del X2090 coincide con la del M2090 anunciado la semana pasada, no se espera que el Opteron 6200 de AMD salga a la carretera hasta el tercer trimestre. Si Cray tiene otras dependencias asociadas con la disponibilidad, Bolding no lo diría.

Cray, por supuesto, podría haber construido una máquina GPU el año pasado basada en la CPU Magny-Cours (Opteron 6100) y la GPU X2070. HP, IBM, SGI y prácticamente todos los demás proveedores de clústeres de HPC presentaron una oferta de GPU en 2010. Pero según Bolding, la XK6 es un enfoque más reflexivo y será la máquina más productiva.

«Podríamos haber hecho algo antes de que no fuera un producto Cray completo, en otras palabras, solo un montón de hardware y una mezcolanza de software de código abierto, pero decidimos no hacerlo», dijo. «Nuestro mejor mapeo de un producto HPC completo en el mercado Online con el marco de tiempo actual de Cray XK6».

«No somos los primeros en la fiesta aquí, pero esperamos ser los mejores bailarines», agregó.

Puedes compartir en en tu Twitter y Facebook para que tus colegas lo lean

??? ? ? ???

Comparte