EPJ Web of Conferences (Jan 2018)

Portable LQCD Monte Carlo code using OpenACC

  • Bonati Claudio,
  • Calore Enrico,
  • Coscetti Simone,
  • D’Elia Massimo,
  • Mesiti Michele,
  • Negro Francesco,
  • Fabio Schifano Sebastiano,
  • Silvi Giorgio,
  • Tripiccione Raffaele

DOI
https://doi.org/10.1051/epjconf/201817509008
Journal volume & issue
Vol. 175
p. 09008

Abstract

Read online

Varying from multi-core CPU processors to many-core GPUs, the present scenario of HPC architectures is extremely heterogeneous. In this context, code portability is increasingly important for easy maintainability of applications; this is relevant in scientific computing where code changes are numerous and frequent. In this talk we present the design and optimization of a state-of-the-art production level LQCD Monte Carlo application, using the OpenACC directives model. OpenACC aims to abstract parallel programming to a descriptive level, where programmers do not need to specify the mapping of the code on the target machine. We describe the OpenACC implementation and show that the same code is able to target different architectures, including state-of-the-art CPUs and GPUs.