FortranX: Harnessing Code Generation, Portability, and Heterogeneity in Fortran
Electrical and Computer Engineering, Carnegie Mellon University, Pittsburgh, PA, USA
The International Conference for High Performance Computing, Networking, Storage, and Analysis (SC’24), 2024
@article{rao2024fortranx,
title={FortranX: Harnessing Code Generation, Portability, and Heterogeneity in Fortran},
author={Rao, Sanil and Franusich, Mike and Monil, Mohammad Alaul Haque and Mankad, Het and Vetter, Jeffrey S and Franchetti, Franz},
year={2024}
}
Due to its historical popularity, Fortran was used to implement many important scientific applications. The complexity of these applications along with the transition to modern high performance languages like C++ has made modernization and optimization challenging for these applications. Significant development time is incurred to understand and optimize key algorithms as well as leverage new accelerator systems. To reduce this development effort, we propose FortranX, a compiler framework to discover and optimize key algorithms in Fortran applications without source code modification. FortranX uses a compiler pass to recognize key algorithms, a code generation system to produce architecturally optimized kernels, and a heterogeneous runtime system to execute those kernels on various hardware platforms. We describe the design of FortranX and show initial performance results for a cyclic convolution kernel used in Poisson solvers for Partial Differential Equations (PDEs).
December 8, 2024 by hgpu