Comparing Programmer Productivity in OpenACC and CUDA: an Empirical Investigation
Department of Computer Science, Auburn University, AL, USA
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.6, No.5, 2016
@article{li2016comparing,
title={Comparing Programmer Productivity in OpenACC and CUDA: an Empirical Investigation},
author={Li, Xuechao and Shih, Po-Chou and Overbey, Jeffrey and Seals, Cheryl and Lim, Alvin},
year={2016}
}
OpenACC has been touted as a "high productivity" API designed to make GPGPU programming accessible to scientific programmers, but to date, no studies have attempted to verify this quantitatively. In this paper, we conduct an empirical investigation of program productivity comparisons between OpenACC and CUDA in the programming time, the execution time and the analysis of independence of OpenACC model in high performance problems. Our results show that, for our programs and our subject pool, this claim is true. We created two assignments called Machine Problem 3(MP3) and Machine Problem 4(MP4) in the classroom environment and instrumented the WebCode website developed by ourselves to record details of students’ coding process. Three hypotheses were supported by the statistical data: for the same parallelizable problem, (1) the OpenACC programming time is at least 37% shorter than CUDA; (2) the CUDA running speed is 9x faster than OpenACC; (3) the OpenACC development work is not significantly affected by previous CUDA experience.
March 20, 2017 by hgpu