A Comparative Study of OpenACC Implementations

Ruymán Reyes, Iván López, Juan José Fumero, Francisco de Sande · 2012

GPUs and other accelerators are available on many different devices, while GPGPU has been massively adopted by the HPC research community. Although a plethora of libraries and applications providing GPU support are available, the need of implementing new algorithms from scratch, or adapting sequential programs to accelerators, will always exist. Writing CUDA or OpenCL codes, although an easier task than using their predecessors, is not trivial. Obtaining performance is even harder, as it requires deep understanding of the underlying architecture. Some efforts have been directed toward the automatic code generation for GPU devices, with different results. In this work, we present a comparison between three directive-based programming models: hiCUDA, PGI Accelerator and OpenACC, using for the last our novel accULL implementation. Key words— OpenACC, Accelerators, GPGPU, CUDA, OpenCL, OpenMP, compiler, productivity

Read the paper · More papers on PaperTik