CAFe: Coarray Fortran Extensions for Heterogeneous Computing

Emerging hybrid accelerator architectures are often proposed for inclusion as components in an exascale machine, not only for performance reasons but also to reduce total power consumption. Unfortunately, programmers of these architectures face a daunting and steep learning curve that frequently req...

Full description

Saved in:
Bibliographic Details
Published in:2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) pp. 357 - 365
Main Authors: Rasmussen, Craig, Sottile, Matthew, Rasmussen, Soren, Nagle, Dan, Dumas, William
Format: Conference Proceeding
Language:English
Published: IEEE 01.05.2016
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Emerging hybrid accelerator architectures are often proposed for inclusion as components in an exascale machine, not only for performance reasons but also to reduce total power consumption. Unfortunately, programmers of these architectures face a daunting and steep learning curve that frequently requires learning a new language (e.g., OpenCL) or adopting a new programming model. Furthermore, the distributed (and frequently multi-level) nature of the memory organization of clusters of these machines provides an additional level of complexity. This paper presents preliminary work examining how Fortran coarray syntax can be extended to provide simpler access to accelerator architectures. This programming model integrates the Partitioned Global Address Space (PGAS) features of Fortran with some of the more task-oriented constructs in OpenMP 4.0 and OpenACC. It also includes the potential for compiler-based transformations targeting the Open Community Runtime (OCR) environment. We demonstrate these CoArray Fortran extensions (CAFe) by implementing a multigrid Laplacian solver and transforming this high-level code to a mixture of standard coarray Fortran and OpenCL kernels.
DOI:10.1109/IPDPSW.2016.140