Abstract to be presented at Summit 2016
Programming languages have been rapidly adding GPU offloading extensions in the last few years. Programmers targeting NVIDIA GPUs currently have a choice between CUDA, OpenMP 4.x, and OpenACC. Programming in CUDA C/C++ provides low-level access to the capabilities of the GPU. It also provides access to a rich library of device functions. It is verbose, however, and depends on the user for performance tuning and error checking. Programming in OpenMP 4.x and OpenACC gives very high-level, portable, access to the GPU, but relies on the compiler to exploit the features of the GPU.
In this talk, we will describe IBM XL Fortran’s support for the CUDA Fortran extensions. We will also contrast programming in CUDA Fortran with programming in CUDA C/C++ and OpenMP to show that CUDA Fortran provides a middle ground that allows the user to access the features from CUDA C/C++ while writing higher level programs with compiler-aided optimization and error checking.
Rafik Zurob is a technical manager with 14 years of experience. Rafik works on the Fortran compiler frontend and runtime environment on IBM AIX and Linux on Power. He is the technical lead for adding CUDA Fortran support to the XL Fortran compiler.