ARM-GPU se destacará en la informática de alto rendimiento
Las GPU se han convertido en la plataforma estándar para acelerar cargas de trabajo informáticas de alto rendimiento, al menos para aquellas cuyo código se ha adaptado para admitir completamente la aceleración. Pero hasta hace poco, la mayor aceleración se producía en sistemas host que utilizaban procesadores Intel Xeon o IBM Power. Pero con Nvidia cumpliendo su promesa de admitir Arm como par para X86 y Power, las perspectivas de HPC impulsadas por combinaciones Arm-GPU han crecido significativamente.
Desde la perspectiva de Nvidia, esto ciertamente tiene sentido considerando que Arm reemplazará a X86 en futuras implementaciones de HPC, especialmente en la UE y el Reino Unido. En Estados Unidos y otros lugares, Arm se considera una forma de inyectar más diversidad y competencia en el ecosistema informático de alto rendimiento. Además, Arm tiene posibilidades geográficas más amplias en entornos empresariales, de nube y de hiperescala.
Tres conocidos centros de supercomputación están ayudando a Nvidia a implementar este modelo informático Arm-GPU en HPC: RIKEN en Japón, la Universidad de Bristol en el Reino Unido y el Laboratorio Nacional Oak Ridge en Estados Unidos.
En el caso de Oak Ridge, el laboratorio ha comenzado este esfuerzo equipando un clúster de banco de pruebas Wombat basado en ThunderX2 con GPU Nvidia V100 y utilizando esa configuración para portar y comparar una variedad de código HPC acelerado. Wombat consta de 16 nodos HPE Apollo70 prediseñados, cada uno equipado con un par de CPU ThunderX2 de 28 núcleos, 256 GB de RAM e interfaces de red EDRInfiniBand de 100 Gb/s. Cuatro de los nodos han sido equipados con GPU Nvidia V100, dos por nodo, con cada GPU conectada a 32 GB de memoria HBM2. En comparación con las GPU V100 instaladas en la supercomputadora "Summit" de Oak Ridge, Wombat tiene el doble de memoria pero una interfaz mucho más lenta porque esas GPU usan enlaces PCI-Express 3.0 en lugar de la interconexión NVLink2 especialmente diseñada por Nvidia.
En términos de software, los usuarios de Wombat cuentan con CUDA 10.1 mejorado con Arm (versión preliminar) y una serie de compiladores compatibles con Arm, incluidos gcc v8.2, gcc v9.2, para HPC. Compilador Arm v19. 3 y una versión para desarrolladores de PGI con soporte CUDA Fortran. La biblioteca de soporte consta de OpenMPIv3.1 y v4.0, así como UCX 1.7.0 y BLAS, LAPACK, FFT optimizados y otras rutinas matemáticas proporcionadas por las bibliotecas ArmPerformance.
Entre las aplicaciones probadas se encuentran el código Combinatorial Metrics (CoMet) para genómica comparada, el Groningen Chemistry Simulator (GROMACS), para simulaciones de dinámica molecular, y la aproximación dinámica de clusters de sistemas cuánticos de muchos cuerpos++ ( DCA++), código de simulador masivo paralelo atómico/molecular a gran escala (LAMMPS) y código de dispersión múltiple local autoconsistente (LSMS) para ciencia de materiales, etc.
Wayne Joubert, un científico computacional del Oak Ridge Scientific Computing Group, dijo que la adaptación era muy simple y requería principalmente cambios en el script de creación de la aplicación. Por ejemplo, el método principal de CoMet fue adaptado, probado y evaluado en menos de dos días. Se puede portar otro código en tan solo unas horas.
Joubert nos dijo: "La experiencia es muy similar a mover código de X86 a la arquitectura Power. De hecho, el mayor desafío durante el proceso de migración es garantizar que todo el software del sistema requerido esté instalado en el sistema".
Ross Miller, programador de sistemas HPC del Grupo de Integración Tecnológica de ORNL, dijo que los diferentes equipos que portaron el código solo tuvieron unas pocas semanas antes de que SC19 portara el código, por lo que en la mayoría de los casos solo tuvieron tiempo de obtener las aplicaciones. arriba y portado. Ejecute Wombat en lugar de realizar esfuerzos más intensivos en mano de obra para optimizar su rendimiento.
Por ejemplo, aunque la capacidad HBM2 de la GPU es el doble que la de la GPU en la Cumbre, los desarrolladores no tienen la oportunidad de ajustar el tamaño del problema para la memoria adicional.
"En al menos un caso (VMD), los desarrolladores han escrito rutinas SSE, AVX y AVX-512 ajustadas manualmente para código X86", señaló Miller. "La adaptación Arm debe depender completamente del código generado por el compilador, que no es tan eficiente. Si los desarrolladores se tomaran el tiempo de escribir rutinas de optimización similares para el conjunto de instrucciones NEON, el rendimiento sería mucho más cercano". Generalmente, el rendimiento de la GPU es casi el 20% del de Summit; la diferencia se atribuye al procesador host menos potente (ThunderX2 vs. Power9) y a la falta de optimización. Algunas aplicaciones se ven afectadas por un menor ancho de banda PCIe, mientras que para otras la diferencia no se nota. Teniendo en cuenta todos estos factores y el hecho de que Wombat utiliza hardware prediseñado y, en algunos casos, software prediseñado, es demasiado pronto para tomar una decisión firme sobre el rendimiento relativo de esta oferta de Arm-GPU.
Asimismo, es prematuro evaluar la eficiencia energética de este sistema en particular. Tienen la intención de considerar esto en el futuro.
Todos los involucrados: Arm, Nvidia y la comunidad de usuarios de HPC están jugando un largo juego. Nadie espera que Arm se haga cargo de HPC como lo hizo cuando X86 se hizo cargo de HPC a principios de la década de 1990 y se convirtió en el dominante. arquitectura para las próximas tres décadas. Pero Arm puede diferenciarse poco a poco de la competencia. (EETOP está traducido de nextplatform)
Anuncio: ¡La sala de conferencias Chuangxin está regalando beneficios durante el Festival de Primavera!
30% de descuento en todo el sitio (último día), ¡les deseo a todos unas felices compras!