Consejos prácticos para codificadores del desembarco de los caballeros. - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Consejos prácticos para codificadores del desembarco de los caballeros.

Hola de nuevo. En el teclado Simón Sánchez y en esta ocasión te voy a contar sobre Consejos prácticos para codificadores del desembarco de los caballeros.

El Centro Nacional de Computación Científica de Investigación Energética (NERSC) está en camino de conseguir su próximo sistema de supercomputadoras, Cori, para mediados de 2016. Aunque falta más de un año, no es demasiado pronto para empezar a prepararse para lo nuevo. Máquina Cray de más de 30 petaflops, que contará con la arquitectura Knights Landing de próxima generación de Intel. Eso dice Richard Gerber, asesor científico senior del director de NERSC, Sudip Dosanjh, y jefe del grupo de servicios al usuario de NERSC.

Aunque Intel, Cray, NERSC y otras partes están trabajando para que esta transición sea fluida, el cambio a una arquitectura de muchos núcleos significa que el código deberá escribirse y optimizarse para aprovechar todo ese paralelismo. El artículo de Gerber aborda este cambio de paradigma y cómo aprovecharlo al máximo.

«Hacer que sus códigos funcionen correctamente (o no funcionen en absoluto) en el primer sistema» de muchos núcleos «de NERSC requerirá más que una simple recompilación», Él dice Gerber.

El nuevo sistema estará equipado con más de 9,300 nodos, con la arquitectura Knights Landing de próxima generación alojada en un entorno Cray XC. Cada uno de estos chips es capaz de ofrecer más de tres teraflops de rendimiento de doble precisión, que colectivamente permite diez veces el rendimiento de la aplicación de Hopper (también conocido como NERSC-6), para una estimación del rendimiento máximo del sistema en el ‘alrededor de 30 petaflops.

“Como era de esperar, NERSC está obteniendo un sistema como Cori; «La comunidad HPC ha sabido durante años lo que está por venir», escribe Gerber. «Impulsados ​​por las limitaciones de la física y la tecnología, así como por el costo de energía y refrigeración, los futuros sistemas HPC obtendrán la mayor parte de su potencia de procesamiento de muchos procesadores. Núcleos energéticamente eficientes, como GPU e Intel Xeon Phis. Estos chips contienen de 10 a 100 núcleos de procesamiento relativamente lento, lo que significa que las mejoras de rendimiento solo se lograrán mediante códigos que puedan utilizar simultáneamente estos núcleos en paralelo de manera eficaz. «

Cuando se trata de sistemas manycore, algunos códigos funcionan mejor que otros. Los problemas ocurren cuando los códigos no ofrecen suficiente paralelismo de grano fino para mantener ocupados todos los núcleos o hay demasiados datos que van del procesador host al acelerador. El beneficio del procesamiento acelerado es superar la penalización por movimiento de datos. Hacer que los códigos funcionen bien requiere mucho esfuerzo.

Muchos sistemas básicos como el Titan basado en GPU en Oak Ridge han estado en el juego durante algún tiempo, pero la programación para Cori es ligeramente diferente, explica Gerber, debido a las partes de «Knights Landing» de Intel Xeon Phi. A diferencia de los sistemas basados ​​en GPU y los sistemas Phi anteriores, los nodos de Knights Landing de Cori funcionarán en modo «autohospedado». Esta es una configuración diferente al modelo de procesador host. Todo se ejecuta en el nodo, incluido el sistema operativo. Transferir datos a un coprocesador ya no es un problema, pero la ubicación de los datos es, como explica Gerber:

La «ubicación de datos» es algo de lo que oirá mucho. Esto se debe en parte al hecho de que cada procesador KNL tendrá hasta 16 GB de «memoria en paquete» o «Memoria de ancho de banda alto» (HBM), que tiene un ancho de banda extremadamente alto y es potencialmente muy bueno para el rendimiento. Sin embargo, si todas sus estructuras de datos no encajan en HBM, tendrá que usar parte de la DRAM tradicional de cada nodo y habrá que pagar un precio para llevar los datos desde allí a las unidades de cálculo. Por lo tanto, querrá realizar el mayor procesamiento posible utilizando los datos que residen en HBM.

También está la cuestión de mantener ocupados más de 60 núcleos. Entonces, ¿Qué haces? Gerber recomienda comenzar con el paralelismo de grano grueso de alto nivel implementado por MPI, luego usar OpenMP para enhebrar (paralelizar) los bucles de cómputo intensivo en su código. Vectorización viene a continuación, y es especialmente importante para las arquitecturas basadas en Phi, donde el rendimiento y la eficiencia dependen del uso efectivo de unidades vectoriales.

El consejo se vuelve más específico a partir de ahí, así que si esto se aplica a usted, lea más aquí. También puede echar un vistazo a la primera «hack-a-thon«Se llevará a cabo el 25 de febrero en sus instalaciones científicas de Oakland.

Para mayor referencia práctica, Intel ha compilado todas las revelaciones de desembarcos de los Caballeros disponibles públicamente. una página web.

Deberías compartir en una historia de tu Instagram para que tus colegas lo lean

??? ? ? ???

Comparte