TL;DR
This paper introduces an automated source-to-source compilation method that transforms legacy FORTRAN 77 scientific code into OpenCL-accelerated programs, enabling automatic parallelization and significant speedups on heterogeneous accelerators.
Contribution
It presents a novel approach for whole-program refactoring, data transfer minimization, and auto-parallelization of FORTRAN 77 code for heterogeneous accelerators.
Findings
Achieved up to 20x speedup on GPU for real-world codes.
Validated the approach on multiple scientific models and test suites.
Generated fully OpenCL-enabled code automatically.
Abstract
Massively parallel accelerators such as GPGPUs, manycores and FPGAs represent a powerful and affordable tool for scientists who look to speed up simulations of complex systems. However, porting code to such devices requires a detailed understanding of heterogeneous programming tools and effective strategies for parallelization. In this paper we present a source to source compilation approach with whole-program analysis to automatically transform single-threaded FORTRAN 77 legacy code into OpenCL-accelerated programs with parallelized kernels. The main contributions of our work are: (1) whole-source refactoring to allow any subroutine in the code to be offloaded to an accelerator. (2) Minimization of the data transfer between the host and the accelerator by eliminating redundant transfers. (3) Pragmatic auto-parallelization of the code to be offloaded to the accelerator by…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
