Uma nova funcionalidade incorporada ao LLVM, um dos principais projetos globais de infraestrutura de compiladores, promete ampliar a precisão na medição de desempenho em GPUs. A contribuição é do doutorando do Programa de Pós-graduação em Ciência da Computação da Universidade Federal de Minas Gerais (UFMG), Leandro Lacerda, sob orientação dos professores do Departamento de Ciência da Computação (DCC), Rodrygo Santos e George Teodoro.
A nova funcionalidade permite medir o tempo decorrido entre eventos de GPU na pilha de offloading do LLVM, tanto por meio da API de Offload quanto internamente, via plugins e backends. Com isso, torna-se possível avaliar, de forma consistente e confiável, o tempo de execução de kernels e de tarefas submetidas a filas em diferentes arquiteturas de GPU.
Segundo Leandro Lacerda, a contribuição é fruto de um trabalho contínuo iniciado durante sua participação no Google Summer of Code (GSoC) de 2025, quando desenvolveu uma infraestrutura para medir acurácia e desempenho de funções matemáticas em GPUs. “Essa experiência foi determinante para a definição do meu tema de doutorado, que investiga como projetar algoritmos mais eficientes para a avaliação de funções matemáticas em GPUs considerando suas características microarquiteturais”, explica.
Um dos principais desafios técnicos da implementação esteve no backend AMDGPU. Antes da atualização, os eventos suportavam apenas sincronização e verificação de conclusão, sem associação a marcadores de tempo que permitissem medir a duração das operações. A solução desenvolvida por Lacerda introduz o registro de eventos com marcadores reais em filas de execução da GPU, possibilitando a consulta posterior de timestamps diretamente do hardware. O suporte também foi estendido ao backend CUDA.
A melhoria impacta diretamente a camada de runtime do LLVM que é utilizada tanto pela nova API de Offload quanto pelo offloading com OpenMP, o que exigiu um processo rigoroso de revisão técnica por especialistas da comunidade internacional do projeto.
Para o professor do DCC, Fernando Quintão Pereira, coordenador do laboratório de Compiladores do departamento, a contribuição reforça a relevância da participação acadêmica em projetos de código aberto de grande escala. “Integrar melhorias ao LLVM significa colaborar diretamente com uma base tecnológica amplamente utilizada na indústria e na pesquisa, com impacto global”, destaca.
Além de atender às demandas do projeto de doutorado, o que requer uma infraestrutura robusta de benchmarking para avaliação de desempenho, a nova funcionalidade abre caminho para avanços na otimização de bibliotecas matemáticas e ferramentas de programação para GPUs. A expectativa é que, no futuro, parte desses resultados possa ser incorporada à biblioteca padrão C do LLVM voltada a esses dispositivos.
A partir de agora, incorporada ao projeto, a contribuição do doutorando passa a beneficiar desenvolvedores e pesquisadores que utilizam o LLVM em diferentes contextos de computação de alto desempenho.
Leia mais sobre a contribuição aqui: https://github.com/llvm/llvm-project/pull/186856










