Teaching An Old Dog New Tricks: Porting Legacy Code to Heterogeneous Compute Architectures With Automated Code Translation

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Nytko, Nicolas, Reisner, Andrew, Moulton, J. David, Olson, Luke N., West, Matthew
Formato: Preprint
Publicado: 2025
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866909779461406720
author Nytko, Nicolas
Reisner, Andrew
Moulton, J. David
Olson, Luke N.
West, Matthew
author_facet Nytko, Nicolas
Reisner, Andrew
Moulton, J. David
Olson, Luke N.
West, Matthew
contents Legacy codes are in ubiquitous use in scientific simulations; they are well-tested and there is significant time investment in their use. However, one challenge is the adoption of new, sometimes incompatible computing paradigms, such as GPU hardware. In this paper, we explore using automated code translation to enable execution of legacy multigrid solver code on GPUs without significant time investment and while avoiding intrusive changes to the codebase. We developed a thin, reusable translation layer that parses Fortran 2003 at compile time, interfacing with the existing library Loopy to transpile to C++/GPU code, which is then managed by a custom MPI runtime system that we created. With this low-effort approach, we are able to achieve a payoff of an approximately 2-3x speedup over a full CPU socket, and 6x in multi-node settings.
format Preprint
id arxiv_https___arxiv_org_abs_2502_05279
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Teaching An Old Dog New Tricks: Porting Legacy Code to Heterogeneous Compute Architectures With Automated Code Translation
Nytko, Nicolas
Reisner, Andrew
Moulton, J. David
Olson, Luke N.
West, Matthew
Distributed, Parallel, and Cluster Computing
Numerical Analysis
Legacy codes are in ubiquitous use in scientific simulations; they are well-tested and there is significant time investment in their use. However, one challenge is the adoption of new, sometimes incompatible computing paradigms, such as GPU hardware. In this paper, we explore using automated code translation to enable execution of legacy multigrid solver code on GPUs without significant time investment and while avoiding intrusive changes to the codebase. We developed a thin, reusable translation layer that parses Fortran 2003 at compile time, interfacing with the existing library Loopy to transpile to C++/GPU code, which is then managed by a custom MPI runtime system that we created. With this low-effort approach, we are able to achieve a payoff of an approximately 2-3x speedup over a full CPU socket, and 6x in multi-node settings.
title Teaching An Old Dog New Tricks: Porting Legacy Code to Heterogeneous Compute Architectures With Automated Code Translation
topic Distributed, Parallel, and Cluster Computing
Numerical Analysis
url https://arxiv.org/abs/2502.05279