Portability, Performance, and Productivity: Demonstration of runtime systems in Julia

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

Abstract


The development of portable, high-level and performant GPU code is a reality in Julia. The language uses the Just-In-Time (JIT) compilation technique and enables the creation of extremely optimized machine code. With the use of widely documented libraries such as KernelAbstractions.jl and Dagger.jl, it is possible to execute the same code in different backends and abstract traditionally complex aspects of parallel development. In this work, we sought to exploit the advantages of Julia when applying a Gaussian Elimination algorithm, a widely known method for solving linear systems.

References

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.
Published
2025-05-28
GUIMARÃES, João Rafael; TOMÉ, Felipe de Alcântara. Portability, Performance, and Productivity: Demonstration of runtime systems in Julia. In: REGIONAL SCHOOL OF HIGH PERFORMANCE COMPUTING FROM 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.