*Result*: OpenCL vs OpenACC: Lessons from Development of Lattice QCD Simulation Code.

Title:
OpenCL vs OpenACC: Lessons from Development of Lattice QCD Simulation Code.
Authors:
Matsufuru, H.1 hideo.matsufuru@kek.jp, Aoki, S.2 saoki@yukawa.kyoto-u.ac.jp, Aoyama, T.3 aoym@kmi.nagoya-u.ac.jp, Kanaya, K.4 kanaya@ccs.tsukuba.ac.jp, Motoki, S.5 smotoki@post.kek.jp, Namekawa, Y.6 namekawa@ccs.tsukuba.ac.jp, Nemura, H.6 nemura@ccs.tsukuba.ac.jp, Taniguchi, Y.4 tanigchi@ccs.tsukuba.ac.jp, Ueda, S.7 sueda@post.kek.jp, Ukita, N.6 ukita@ccs.tsukuba.ac.jp
Source:
Procedia Computer Science. 2015, Vol. 51, p1313-1322. 10p.
Database:
Supplemental Index

*Further Information*

*OpenCL and OpenACC are generic frameworks for heterogeneous programming using CPU and accelerator devices such as GPUs. They have contrasting features: the former explicitly controls devices through API functions, while the latter generates such procedures along a guide of the directives inserted by a programmer. In this paper, we apply these two frameworks to a general-purpose code set for numerical simulations of lattice QCD, which is a computational physics of elementary particles based on the Monte Carlo method. The fermion matrix inversion, which is usually the most time-consuming part of the lattice QCD simulations, is offloaded to the accelerator devices. From a viewpoint of constructing reusable components based on the object-oriented programming and also tuning the code to achieve high performance, we discuss feasibility of these frameworks through the practical implementations. [ABSTRACT FROM AUTHOR]*