La turbulencia, el estado del movimiento desordenado de los fluidos, es un rompecabezas científico de gran complejidad. La turbulencia impregna muchas aplicaciones en ciencia e ingeniería, incluida la combustión, el transporte de contaminantes, el pronóstico del tiempo, la astrofísica y más. Uno de los desafíos que enfrentan los científicos que simulanla turbulencia radica en la amplia gama de escalas que deben capturar para comprender con precisión el fenómeno. Estas escalas pueden abarcar varios órdenes de magnitud y pueden ser difíciles de capturar dentro de las limitaciones de los recursos informáticos disponibles.
La informática de alto rendimiento puede hacer frente a este desafío cuando se combina con el código científico correcto; pero la simulación de flujos turbulentos en tamaños de problemas más allá del estado actual del arte requiere un nuevo pensamiento en concierto con plataformas heterogéneas de primera línea.
Un equipo dirigido por PK Yeung, profesor de ingeniería aeroespacial e ingeniería mecánica en el Instituto de Tecnología de Georgia, realiza simulaciones numéricas directas DNS de turbulencia utilizando el nuevo código de su equipo, GPU para simulaciones de turbulencia de escala extrema GESTS.puede capturar con precisión los detalles que surgen de una amplia gama de escalas. A principios de este año, el equipo desarrolló un nuevo algoritmo optimizado para la supercomputadora IBM AC922 Summit en el Oak Ridge Leadership Computing Facility OLCF. Con el nuevo algoritmo, el equipo alcanzóun rendimiento de menos de 15 segundos de tiempo de reloj de pared por paso de tiempo para más de 6 billones de puntos de cuadrícula en el espacio: un nuevo récord mundial que supera el estado de la técnica anterior en el campo para el tamaño del problema.
Se espera que las simulaciones que realiza el equipo en Summit aclaren cuestiones importantes con respecto a los flujos de fluidos turbulentos que se agitan rápidamente, lo que tendrá un impacto directo en el modelado de los flujos de reacción en motores y otros tipos de sistemas de propulsión.
GESTS es un código de dinámica de fluidos computacional en el Centro para la Preparación Acelerada de la Aplicación en el OLCF, una Instalación de Usuario de la Oficina de Ciencia del Departamento de Energía de los EE. UU. En el Laboratorio Nacional Oak Ridge del DOE. En el corazón de GESTS se encuentra un algoritmo matemático básicoque calcula transformaciones rápidas de Fourier distribuidas a gran escala FFT en tres direcciones espaciales.
Un FFT es un algoritmo matemático que calcula la conversión de una señal o un campo de su dominio de tiempo o espacio original a una representación en el espacio de frecuencia o número de onda, y viceversa para la transformación inversa. Yeungaplica ampliamente una gran cantidad de FFT para resolver con precisión la ecuación diferencial parcial fundamental de la dinámica de fluidos, la ecuación de Navier-Stokes, utilizando un enfoque conocido en matemática y computación científica como "métodos pseudopectrales".
La mayoría de las simulaciones que usan paralelismo masivo basado en CPU dividirán un dominio de solución 3D, o el volumen de espacio donde se calcula un flujo de fluido, a lo largo de dos direcciones en muchos "cuadros de datos" o "lápices" largos. Sin embargo, cuando el equipo de YeungSe reunió en un Hackathon GPU de OLCF a fines de 2017 con el mentor David Appelhans, miembro del personal de investigación de IBM, el grupo concibió una idea innovadora. Combinarían dos enfoques diferentes para abordar el problema. Primero dividirían el dominio 3D en una dirección, formando una serie de "losas" de datos en las CPU de memoria grande de Summit, luego paralelice aún más dentro de cada losa usando las GPU de Summit.
El equipo identificó las partes más intensivas en tiempo de un código base de CPU y se propuso diseñar un nuevo algoritmo que reduciría el costo de estas operaciones, aumentaría los límites del mayor problema posible y aprovecharía los datos únicoscaracterísticas céntricas de Summit, la supercomputadora más poderosa e inteligente del mundo para la ciencia abierta.
"Diseñamos este algoritmo para que sea uno de paralelismo jerárquico para garantizar que funcione bien en un sistema jerárquico", dijo Appelhans. "Pusimos hasta dos losas en un nodo, pero debido a que cada nodo tiene 6 GPU, rompimoscada losa y pon esas piezas individuales en diferentes GPU "
En el pasado, los lápices pueden haberse distribuido entre muchos nodos, pero el método del equipo hace uso de la comunicación en el nodo de Summit y su gran cantidad de memoria de la CPU para adaptarse a los bloques de datos completos en nodos individuales.
"Originalmente estábamos planeando ejecutar el código con la memoria que reside en la GPU, lo que nos habría limitado a tamaños de problemas más pequeños", dijo Yeung. "Sin embargo, en el Hackathon de la GPU OLCF, nos dimos cuenta de que la conexión NVLink entre elLa CPU y la GPU son tan rápidas que podríamos maximizar el uso de 512 gigabytes de memoria de la CPU por nodo ".
La realización llevó al equipo a adaptar algunas de las piezas principales del código núcleos para el movimiento de datos de la GPU y el procesamiento asincrónico, lo que permite que el cálculo y el movimiento de datos ocurran simultáneamente. Los núcleos innovadores transformaron el código y permitieron que el equipo resolvieraproblemas mucho más grandes que nunca a un ritmo mucho más rápido que nunca.
El éxito del equipo demostró que incluso las aplicaciones grandes dominadas por la comunicación pueden beneficiarse enormemente de la supercomputadora más poderosa del mundo cuando los desarrolladores de código integran la arquitectura heterogénea en el diseño del algoritmo.
fusionándose en el éxito
Uno de los ingredientes clave para el éxito del equipo fue un ajuste perfecto entre la experiencia científica del dominio del equipo de Georgia Tech y el pensamiento innovador y el profundo conocimiento de la máquina de Appelhans.
También fue crucial para el logro los sistemas de ascenso y cumbre de acceso temprano de la OLCF y una asignación de un millón de nodos por hora en la Cumbre proporcionada por el programa Innovative Novel and Computational Impact on Theory and Experiment INCITE, administrado conjuntamente por Argonne y OakInstalaciones de informática de liderazgo de Ridge y el Programa de ciencia temprana de la Cumbre en 2019.
Oscar Hernández, desarrollador de herramientas en el OLCF, ayudó al equipo a superar los desafíos a lo largo del proyecto. Uno de estos desafíos fue descubrir cómo ejecutar cada proceso paralelo que obedece al estándar de interfaz de paso de mensajes [MPI] en la CPUjunto con múltiples GPU. Por lo general, uno o más procesos MPI están vinculados a una sola GPU, pero el equipo descubrió que el uso de múltiples GPU por proceso MPI permite que los procesos MPI envíen y reciban un número menor de mensajes más grandes que los planeados originalmente por el equipoUtilizando el modelo de programación OpenMP, Hernández ayudó al equipo a reducir la cantidad de tareas MPI, mejorando el rendimiento de la comunicación del código y, por lo tanto, conduciendo a nuevas aceleraciones.
Kiran Ravikumar, un estudiante de doctorado de Georgia Tech en el proyecto, presentará detalles del algoritmo dentro del programa técnico de la Conferencia de Supercomputación 2019, SC19.
El equipo planea usar el código para incursionar en los misterios de la turbulencia; también introducirán otros fenómenos físicos como la mezcla oceánica y los campos electromagnéticos en el código en el futuro.
"Este código, y sus versiones futuras, brindarán oportunidades emocionantes para avances importantes en la ciencia de la turbulencia, con conocimientos de generalidad relacionados con la mezcla turbulenta en muchos entornos naturales y de ingeniería", dijo Yeung.
Publicación relacionada: K. Ravikumar, D. Appelhans y PK Yeung, "Aceleración por GPU de simulaciones pseudoespectrales de escala extrema de turbulencia utilizando asincronismo". Documento que se presentará en la Conferencia Internacional de 2019 de Computación, Redes y Almacenamiento de Alto RendimientoAnalysis SC10, Denver, CO, 17-22 de noviembre de 2019.
Fuente de la historia :
Materiales proporcionado por DOE / Laboratorio Nacional de Oak Ridge . Nota: El contenido puede ser editado por estilo y longitud.
Cita esta página :