Enabling efficient stencil code generation in OpenACC
Alyson D. Pereira, Rodrigo C. O. Rocha, Márcio Castro, Luís F. W. Góes, Mário A. R. Dantas · Procedia Computer Science · 2017
The OpenACC programming model simplifies the programming for accelerator devices such as GPUs. Its abstract accelerator model defines a least common denominator for accelerator devices, thus it cannot represent architectural specifics of these devices without losing portability. Therefore, this general-purpose approach delivers good performance on average, but it misses optimization opportunities for code generation and execution of specific classes of applications. In this paper, we propose stencil extensions to enable efficient code generation in OpenACC. Our results show that our stencil extensions may improve the performance of OpenACC in up to 28% and 45% on GPU and CPU, respectively.