DocumentCode
611019
Title
CUDA vs OpenACC: Performance Case Studies with Kernel Benchmarks and a Memory-Bound CFD Application
Author
Hoshino, Takashi ; Maruyama, Naoya ; Matsuoka, Shingo ; Takaki, R.
Author_Institution
Dept. of Math. & Comput. Sci., Tokyo Inst. of Technol., Tokyo, Japan
fYear
2013
fDate
13-16 May 2013
Firstpage
136
Lastpage
143
Abstract
OpenACC is a new accelerator programming interface that provides a set of OpenMP-like loop directives for the programming of accelerators in an implicit and portable way. It allows the programmer to express the offloading of data and computations to accelerators, such that the porting process for legacy CPU-based applications can be significantly simplified. This paper focuses on the performance aspects of OpenACC using two micro benchmarks and one real-world computational fluid dynamics application. Both evaluations show that in general OpenACC performance is approximately 50% lower than CUDA. However, for some applications it can reach up to 98% with careful manual optimizations. The results also indicate several limitations of the OpenACC specification that hamper full use of the GPU hardware resources, resulting in a significant performance gap when compared to a fully tuned CUDA code. The lack of a programming interface for the shared memory in particular results in as much as three times lower performance.
Keywords
application program interfaces; benchmark testing; computational fluid dynamics; graphics processing units; message passing; parallel architectures; shared memory systems; software maintenance; software performance evaluation; CUDA; GPU hardware resource; OpenACC specification; OpenMP-like loop directive; accelerator programming interface; computational fluid dynamics; kernel benchmark; legacy CPU-based application; memory-bound CFD; performance aspect; porting process; shared memory; Arrays; Benchmark testing; Graphics processing units; Instruction sets; Kernel; Optimization; Programming; CUDA; GPU; OpenACC;
fLanguage
English
Publisher
ieee
Conference_Titel
Cluster, Cloud and Grid Computing (CCGrid), 2013 13th IEEE/ACM International Symposium on
Conference_Location
Delft
Print_ISBN
978-1-4673-6465-2
Type
conf
DOI
10.1109/CCGrid.2013.12
Filename
6546071
Link To Document