Title :
Programming for GPUs: The Directive-Based Approach
Author :
Grillo, Lucas ; de Sande, Francisco ; Fumero, Juan J. ; Reyes, Ruyman
Author_Institution :
Dept. de EIO y Comput., Univ. de La Laguna, La Laguna, Spain
Abstract :
In the last years, hardware accelerators, such as GPUs have become ubiquitous in the HPC landscape and GPGPU has been massively adopted by the HPC research community. If something is slowing down further expansion of this technology are its difficulties in terms of programmability. Although several libraries and applications providing GPU support are available, the need of implementing new algorithms from scratch, or adapting sequential programs to accelerators, still exist. Writing programs to be executed on accelerators is not easy, particularly for non-expert developers coming from the science or engineering fields, as it requires deep understanding of the underlying architecture. Different alternatives have appeared aimed to diminish the GPU programming effort. In the wake of the success of OpenMP, several directive-oriented programming models have been created. Although future OpenMP releases will integrate accelerators, tools are needed in the meantime. In this work, we present a comparison of directive-based approaches for GPU platforms, hiCUDA, PGI Accelerator and OpenACC. For the last, in addition to the two commercial compilers available, we include results using accULL, our own OpenACC implementation. To illustrate the portability of these alternatives, we show performance figures for both Fermi and Kepler NVIDIA cards.
Keywords :
graphics processing units; message passing; parallel architectures; program compilers; software libraries; Fermi card; GPU programming; HPC; Kepler NVIDIA card; OpenACC; OpenMP; PGI accelerator; accULL; compiler; directive-oriented programming model; hardware accelerator; hiCUDA; program execution; program library; sequential program; Graphics processing units; Kernel; Parallel processing; Programming; Runtime; Standards; CUDA; Compilers; GPGPU; HMPP; OpenACC; PGI; accULL;
Conference_Titel :
P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), 2013 Eighth International Conference on
Conference_Location :
Compiegne
DOI :
10.1109/3PGCIC.2013.106