En un tiempo récord, el laboratorio de Vikram Gavini alcanzó un gran hito en la visualización de cosas minúsculas.
El equipo de tres personas de la Universidad de Michigan creó un programa que utiliza matemáticas complejas para analizar en profundidad el mundo atómico. Podría impulsar muchos campos de la ciencia, así como el diseño de diversos elementos, desde automóviles más ligeros hasta medicamentos más eficaces.
El código, disponible en el repositorio de código abierto del grupo, obtuvo una aceleración de 20 veces en solo 18 meses gracias a las GPU.
Un Viaje a la Cumbre
A mediados de 2018, el equipo se estaba preparando para lanzar una versión del código que se ejecutaba en las CPU cuando recibió una invitación a un GPU hackathon en el Laboratorio Nacional de Oak Ridge, el hogar de Summit, una de las supercomputadoras más rápidas del mundo.
“Pensamos, vamos a ver qué podemos lograr”, dijo Gavini, profesor de ingeniería mecánica y ciencia de materiales.
“Rápidamente nos dimos cuenta de que nuestro código podría explotar el enorme paralelismo de las GPU”, dijo Sambit Das, un estudiante de postdoctorado del laboratorio que asistió al evento de cinco días.
Antes de que terminara, Das y otro miembro del laboratorio, Phani Motamarri, obtuvieron aceleraciones de 5 veces moviendo el código a CUDA y sus bibliotecas. También escucharon la promesa de muchos avances.
Aceleraciones de 5 a 20 Veces en Seis Meses
Durante los siguientes meses, el laboratorio continuó ajustando su programa para analizar 100,000 electrones en 10,000 átomos de magnesio. A principios de 2019, estaba listo para ejecutarse en Summit.
Con un enfoque iterativo, el laboratorio ejecutó porciones cada vez mayores de su código en más y más nodos de Summit. En abril, estaba utilizando la mayoría de las 27,000 GPU del sistema y obtuvieron casi 46 petaflops de rendimiento, 20 veces más que el trabajo anterior.
Fue un resultado inaudito para un programa basado en la teoría funcional de la densidad (DFT), la matemática compleja que explica las interacciones cuánticas entre partículas subatómicas.
Computación Distribuida para Cálculos Difíciles
Los cálculos de DFT son tan complejos y fundamentales que actualmente consumen una cuarta parte del tiempo en todas las computadoras públicas de investigación. Son el tema de 12 de los 100 artículos científicos más citados, utilizados para analizar todo tipo de fenómenos, desde la astrofísica hasta las cadenas de ADN.
Inicialmente, el laboratorio informó que su programa utilizó casi el 30 por ciento de la capacidad teórica máxima de Summit, una tasa de eficiencia inusualmente alta. En comparación, la mayoría de los otros códigos de DFT ni siquiera informan de eficiencia porque tienen dificultades para escalar más allá del uso de unos pocos procesadores.
“Fue realmente emocionante llegar a ese punto porque era algo sin precedentes”, dijo Gavini.
Reconocimiento por un Hito Matemático
A finales de 2019, el grupo fue nombrado finalista para un premio de Gordon Bell. Fue la primera presentación del laboratorio para el premio que es el equivalente a un Nobel en computación de alto rendimiento.
“Eso proporcionó mucha visibilidad para nuestro laboratorio y nuestra universidad, y creo que este esfuerzo es solo el comienzo”, dijo Gavini.
De hecho, desde la competencia, el laboratorio llevó el rendimiento del código a 64 petaflops y 38 por ciento de eficiencia en Summit. Y ya está explorando su uso en otros sistemas y aplicaciones.
Buscando Más Aplicaciones y Rendimiento
El trabajo inicial analizó el magnesio, un metal mucho más ligero que el acero y el aluminio que se utilizan actualmente en automóviles y aviones, lo que promete un importante ahorro de combustible. El año pasado, el laboratorio se asoció con otro grupo que explora cómo se mueven los electrones en el ADN, un trabajo que podría ayudar a otros investigadores a desarrollar medicamentos más eficaces.
El siguiente gran paso es ejecutar el código en Perlmutter, una supercomputadora que utiliza las últimas GPU NVIDIA A100 Tensor Core. Das informa que ya está obteniendo aceleraciones de 4 veces en comparación con las GPU Summit gracias al soporte de las GPU A100 para TensorFloat-32, un formato de precisión mixta que ofrece resultados rápidos y alta precisión.
El programa del laboratorio ya ofrece aceleraciones de 100 veces en comparación con otros códigos de DFT, pero Gavini no se detiene allí. Ya está pensando en probarlo en Fugaku, un sistema basado en Arm que actualmente es la supercomputadora más rápida del mundo.
“Siempre es emocionante ver hasta dónde puedes llegar, y siempre hay un próximo hito. Vemos esto como el comienzo de un viaje”, dijo.