ForOpenCL: Transformations Exploiting Array Syntax in Fortran for Accelerator Programming

Matthew J. Sottile, Craig E Rasmussen, Wayne N. Weseloh, Robert W. Robey, Daniel Quinlan, Jeffrey Overbey
Galois, Inc., Portland, OR 97204
arXiv:1107.2157v1 [cs.PL] (11 Jul 2011)


   author={Sottile}, M.~J. and {Rasmussen}, C.~E and {Weseloh}, W.~N. and {Robey}, R.~W. and {Quinlan}, D. and {Overbey}, J.},

   title={"{ForOpenCL: Transformations Exploiting Array Syntax in Fortran for Accelerator Programming}"},

   journal={ArXiv e-prints},




   keywords={Computer Science – Programming Languages},




   adsnote={Provided by the SAO/NASA Astrophysics Data System}


Download Download (PDF)   View View   Source Source   Source codes Source codes




Emerging GPU architectures for high performance computing are well suited to a data-parallel programming model. This paper presents preliminary work examining a programming methodology that provides Fortran programmers with access to these emerging systems. We use array constructs in Fortran to show how this infrequently exploited, standardized language feature is easily transformed to lower-level accelerator code. The transformations in ForOpenCL are based on a simple mapping from Fortran to OpenCL. We demonstrate, using a stencil code solving the shallow-water fluid equations, that the performance of the ForOpenCL compiler-generated transformations is comparable with that of hand-optimized OpenCL code.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: