Em tempo recorde, o laboratório de Vikram Gavini atingiu um marco importante na visualização de partículas pequenas.
Formada por três pessoas, a equipe da Universidade de Michigan criou um programa que usa cálculos complexos para analisar o mundo atômico em detalhes. Ele pode contribuir para muitos campos da ciência e para a criação de diversos produtos, desde carros mais leves a medicamentos mais eficazes.
O código, disponível no repositório de código aberto do grupo, foi acelerado em 20 vezes em apenas 18 meses graças às GPUs.
Uma Jornada para o Summit
Em meados de 2018, enquanto a equipe estava em preparação para lançar uma versão do código executado em CPUs, foi convidada para um GPU hackaton no Oak Ridge National Lab, onde fica o Summit, um dos supercomputadores mais rápidos do mundo.
“Nós pensamos: ‘Vamos ver o que conseguimos fazer’”, contou Gavini, professor de engenharia mecânica e ciência de materiais.
“Logo percebemos que nosso código conseguiria explorar o enorme paralelismo nas GPUs”, contou Sambit Das, estudante de pós-doutorado do laboratório que participou do evento de cinco dias.
Antes do fim do evento, Das e outro membro do laboratório, Phani Motamarri, obtiveram uma aceleração de 5 vezes ao transferir o código para a CUDA e suas bibliotecas. E também ouviram promessas de muitas novidades.
Aceleração de 5 a 20 Vezes em Seis Meses
Durante os meses seguintes, o laboratório continuou ajustando o programa para analisar 100 mil elétrons em 10 mil átomos de magnésio. No início de 2019, já estava pronto para ser executado no Summit.
Com uma abordagem iterativa, o laboratório executou partes cada vez maiores do código em cada vez mais nós do Summit. Em abril, ele estava usando a maioria das 27 mil GPUs do sistema, atingindo quase 46 petaflops de desempenho, equivalente a 20 vezes o desempenho anterior.
Foi um resultado inédito para um programa baseado na teoria funcional de densidade (DFT – Density Functional Theory), a matemática complexa que explica as interações quânticas entre partículas subatômicas.
Computação Distribuída para Cálculos Difíceis
Os cálculos de DFT são tão complexos e fundamentais que, atualmente, consomem um quarto do tempo de todos os computadores públicos de pesquisa. Eles são o objeto de 12 dos 100 artigos científicos mais citados, usados para analisar tudo, desde a astrofísica até os filamentos de DNA.
Inicialmente, o laboratório informou que o programa usou quase 30% da capacidade máxima teórica do Summit, uma taxa de eficiência excepcionalmente alta. Em comparação: a maioria dos outros códigos de DFT nem sequer relatam a eficiência, porque têm dificuldade no dimensionamento para além de poucos processadores.
“Foi muito empolgante chegar a esse ponto porque foi inédito”, disse Gavini.
Reconhecimento por um Marco na Matemática
No fim de 2019, o grupo foi um dos finalistas concorrendo ao prêmio Gordon Bell. Foi a primeira vez que o laboratório foi nomeado para o prêmio, que é o equivalente ao Nobel na área da computação de alto desempenho.
“Nosso laboratório e nossa universidade ganharam muita visibilidade, e acho que esse projeto é só o começo”, afirmou Gavini.
De fato, desde a competição, o laboratório aumentou o desempenho do código para 64 petaflops e a eficiência em 38% no Summit. E a equipe já está investigando o uso em outros sistemas e aplicações.
Em Busca de Mais Aplicações e Desempenho
O projeto inicial analisou o magnésio, um metal muito mais leve que o aço e o alumínio usados em carros e aviões atualmente, prometendo uma economia significativa de combustível. No ano passado, o laboratório colaborou com outro grupo para estudar como os elétrons se movimentam no DNA, um trabalho que pode ajudar outros pesquisadores a desenvolver medicamentos mais eficazes.
O próximo passo é executar o código no Perlmutter, um supercomputador que usa as GPUs NVIDIA A100 Tensor Core mais atuais. Das contou que já observou uma aceleração de 4 vezes em comparação com as GPUs do Summit graças ao suporte das GPUs A100 para TensorFloat-32, um formato de precisão mista que oferece resultados rápidos e alta precisão.
O programa do laboratório já oferece acelerações de 100 vezes em comparação a outros códigos de DFT, mas Gavini quer ir além. Ele já está considerando testá-lo no Fugaku, um sistema baseado em Arm que, atualmente, é o supercomputador mais rápido do mundo.
“É sempre animador ver o quão longe conseguimos chegar, e sempre há novos marcos a atingir. Para nós, é o início de uma jornada”, afirmou.