Adaptación de algoritmos a arquitecturas híbridas modernas - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Adaptación de algoritmos a arquitecturas híbridas modernas

Hola, un placer verte por aquí. En el teclado Simón Sánchez y hoy vamos a hablar sobre Adaptación de algoritmos a arquitecturas híbridas modernas

La tecnología, al igual que otros aspectos de la vida, suele experimentar ciclos de cambios rápidos seguidos de períodos de relativa estabilidad. La informática ha entrado en una fase de mayor diversidad arquitectónica, como lo demuestra el auge de aceleradores, coprocesadores y otras alternativas, como los procesadores ARM. Un equipo internacional de investigadores explora cómo se comportan estas diversas arquitecturas de supercomputación en problemas de flujo turbulento en paralelo.

En su papel «Simulación numérica directa de flujos turbulentos con algoritmos paralelos para diversas arquitecturas informáticas»,

los

1. Los clásicos que funcionan con la potencia informática de las unidades centrales de procesamiento (CPU)
2. Máquinas híbridas con CPU y unidad de procesamiento de gráficos (GPU)
3. Máquinas híbridas con CPU Intel Xeon Phi y aceleradores de muchas arquitecturas integradas centrales (MIC).

Para optimizar el rendimiento, los algoritmos deben personalizarse para cada tipo de sistema.

«El primer tipo, el básico, requiere algoritmos paralelos altamente escalables que pueden ejecutarse en miles de núcleos», el

También hay un cuarto tipo, las arquitecturas basadas en ARM, que, como otros tipos híbridos, requieren mucha atención para optimizar el acceso a la memoria y el equilibrio de carga entre la CPU y los aceleradores. Sin embargo, el enfoque principal de este documento está en las GPGPU de NVIDIA y AMD y el coprocesador Intel Phi.

El equipo adopta un enfoque multinivel que combina varios modelos paralelos. Explican: “MPI se usa en el primer nivel dentro del modelo de memoria distribuida para acoplar los nodos de cómputo de una supercomputadora. En el segundo nivel, OpenMP se utiliza para activar CPU de varios núcleos y / o aceleradores Intel Xeon Phi. El tercer nivel explota el potencial computacional de los aceleradores masivamente paralelos «.

Se desarrollaron extensiones basadas en OpenMP y OpenCL para explotar el potencial de procesamiento de las máquinas híbridas modernas. Al adaptar algoritmos computacionales a diferentes arquitecturas de aceleradores, el equipo encontró algunos hallazgos interesantes con respecto al rendimiento.


Figura 3: Comparación de rendimiento en una malla con 472114 celdas (flujo alrededor de una esfera) para diferentes dispositivos usando un esquema de volumen finito de primer orden para mallas no estructuradas


Figura 4: Comparación de rendimiento en una malla con 679339 celdas (flujo alrededor de una esfera) para diferentes dispositivos usando un esquema de volumen finito basado en un polinomio de segundo orden para mallas no estructuradas

Al observar las Figuras 3 y 4 (arriba), el equipo declaró «se puede ver que para el esquema de primer orden (Figura 3) NVIDIA GTX TITAN supera a AMD 7970 mientras que para el esquema basado en polinomios de segundo orden que requiere mucho más recursos (registros y uso de memoria compartida) AMD one supera significativamente a NVIDIA one. Esto indica que la memoria local y el registro de la arquitectura NVIDIA son insuficientes, lo que evita una alta ocupación de dispositivos y reduce la eficiencia «.

También en la Figura 4, se puede ver que la arquitectura Intel Xeon Phi tiene menos rendimiento que las diversas GPU. Si bien esto podría deberse a la implementación de OpenCL, una implementación de OpenMP produjo un comportamiento similar, proporcionando solo un aumento de velocidad del 10-20% sobre una CPU Intel Xeon E5-2690 de 8 núcleos.

«Entonces, la afirmación común de que Intel Xeon Phi es mucho más fácil de usar que la GPU porque puede manejar el mismo código que la CPU es una ilusión», concluyen. «La potencia de cálculo de este tipo de acelerador es mucho más difícil de conseguir».

Los algoritmos de malla estructurados y no estructurados modificados para una paralelización de OpenMP significativamente multiproceso han demostrado altas velocidades internas, hasta 200 veces más rápidas en Intel Xeon Phi que la ejecución secuencial en el mismo acelerador. Sin embargo, el rendimiento neto no fue mucho mejor que el de una CPU de 8 núcleos. Sorprendido por este resultado, el equipo especula que puede estar relacionado con mecanismos de ocultación de latencia de memoria insuficientes basados ​​en hiperprocesos de 4 hilos. Una GPU, señalan, puede tener docenas de subprocesos que cambian para ocultar la latencia. Añaden que el rendimiento deficiente de la caché también podría ser un factor contribuyente.

El documento sirve como recordatorio de que las arquitecturas del sistema deben evaluarse en el contexto de cargas de trabajo específicas. Para los núcleos de algoritmo OpenCL en mallas no estructuradas, «las diferentes GPU consideradas superan sustancialmente al acelerador Intel Xeon Phi», concluye el equipo, y agrega, «la GPU AMD tiende a ser más eficiente que NVIDIA en núcleos de procesamiento pesado». .

Puedes compartir en tus redes sociales para que tus colegas lo vean

??? ? ? ???

Comparte