Directive-based Programming Models for Scientific Applications - A Comparison

Rengan Xu, Sunita Chandrasekaran, Barbara Chapman, Christoph F. Eick · 2012

Accelerators have been considered a viable way by many scientific and technical programmers to program and accelerate huge scientific applications. Accelerators such as GPUs have immense potential in terms of high compute capacity but programming these devices is a challenge. CUDA, OpenCL and other vendor-specific models are definitely a way to go, but these are low-level models that demand excellent programming skills; moreover, they are time consuming to write and debug. In order to simplify GPU programming several directivebased programming models have already been proposed. In this paper, we evaluate and compare several directive-based models such as PGI, HMPP and OpenACC models involving four scientific applications. From our experimental analysis, we conclude that efficient implementations of high-level directivebased models plus user guided optimizations can actually reach the performance obtained via a hand written CUDA code. For example a computer tomography-based algorithm ported to GPUs using a directive-based approach showed that the performance achieved is about 90% to that of CUDA version of the code.

Read the paper · More papers on PaperTik