Portabilidade, Performance e Produtividade Demonstração de sistemas runtime em Julia

  • João Rafael Guimarães UFSCar
  • Felipe de Alcântara Tomé Massachusetts Institute of Technology

Resumo


O desenvolvimento de código de GPU portátil, de alto nível e performático é uma realidade em Julia. A linguagem utiliza técnica de compilação Just-In-Time (JIT) e permite a criação de código de máquina extremamente otimizado. Com o uso de bibliotecas amplamente documentadas como KernelAbstractions.jl e Dagger.jl, é possível executar um mesmo código em diferentes backends, e abstrair aspectos tradicionalmente complexos do desenvolvimento paralelo. Neste trabalho, buscou-se explorar as vantagens do Julia durante a aplicação um algoritmo de Eliminação Gaussiana, método amplamente conhecido para resolução de sistemas lineares.

Referências

Ali Naqvi, S. R., Gharib, S., Khan, R., Munir, N., and Khanam, M. (2015). System of linear equations, guassian elimination. Global Journal of Computer Science and Technology, 15.

Alomairy, R. M., Tome, F., Samaroo, J., and Edelman, A. (2024). Dynamic task scheduling with data dependency awareness using julia. In 2024 IEEE High Performance Extreme Computing Conference (HPEC). IEEE.

Bezanson, J., Edelman, A., Karpinski, S., and Shah, V. B. (2017). Julia: A fresh approach to numerical computing. SIAM Review, 59(1):65–98.

Churavy, V. (2024). Kernelabstractions.jl.

Dagum, L. and Menon, R. (1998). OpenMP: An industry standard API for shared-memory programming. IEEE Computational Science and Engineering, 5(1):46–55.

Kim, J., Lee, S., Johnston, B., and Vetter, J. S. (2021). Iris: A portable runtime system exploiting multiple heterogeneous programming systems. In Proceedings of the 25th IEEE High Performance Extreme Computing Conference (HPEC), pages 1–8. IEEE.

Milanez, V., Navas, I., Migliatti, J., Miata, M., and Guardia, H. (2024). Um estudo de implementação paralela da eliminação de gauss usando openmp e cuda. In Anais da XV Escola Regional de Alto Desempenho de São Paulo, pages 29–32, Porto Alegre, RS, Brasil. SBC.

Miller, W. (1972). On the stability of finite numerical procedures. Numerische Mathematik, 19(5):425–432.
Publicado
28/05/2025
GUIMARÃES, João Rafael; TOMÉ, Felipe de Alcântara. Portabilidade, Performance e Produtividade Demonstração de sistemas runtime em Julia. In: ESCOLA REGIONAL DE ALTO DESEMPENHO DE SÃO PAULO (ERAD-SP), 16. , 2025, São José do Rio Preto/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 94-97. DOI: https://doi.org/10.5753/eradsp.2025.9753.