Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Exploiting first-class arrays in Fortran for accelerator programming

Conference ·
OSTI ID:1044886
Emerging architectures for high performance computing often are well suited to a data parallel programming model. This paper presents a simple programming methodology based on existing languages and compiler tools that allows programmers to take advantage of these systems. We will work with the array features of Fortran 90 to show how this infrequently exploited, standardized language feature is easily transformed to lower level accelerator code. Our transformations are based on a mapping from Fortran 90 to C++ code with OpenCL extensions. The sheer complexity of programming for clusters of many or multi-core processors with tens of millions threads of execution make the simplicity of the data parallel model attractive. Furthermore, the increasing complexity of todays applications (especially when convolved with the increasing complexity of the hardware) and the need for portability across hardware architectures make a higher-level and simpler programming model like data parallel attractive. The goal of this work has been to exploit source-to-source transformations that allow programmers to develop and maintain programs at a high-level of abstraction, without coding to a specific hardware architecture. Furthermore these transformations allow multiple hardware architectures to be targeted without changing the high-level source. It also removes the necessity for application programmers to understand details of the accelerator architecture or to know OpenCL.
Research Organization:
Los Alamos National Laboratory (LANL)
Sponsoring Organization:
DOE
DOE Contract Number:
AC52-06NA25396
OSTI ID:
1044886
Report Number(s):
LA-UR-10-08340; LA-UR-10-8340
Country of Publication:
United States
Language:
English

Similar Records

A Programmable Preprocessor for Parallelizing Fortran-90
Conference · Thu Jul 01 00:00:00 EDT 1999 · OSTI ID:15001833

Evaluation of the OpenCL AES Kernel using the Intel FPGA SDK for OpenCL
Technical Report · Thu Apr 20 00:00:00 EDT 2017 · OSTI ID:1357909

CHASM : Static Analysis and Automatic Code Generation for Improved Fortran 90 and C++ Interoperability /
Conference · Sun Dec 31 23:00:00 EST 2000 · OSTI ID:975726