Design and optimization of a portable LQCD Monte Carlo code using OpenACC
Claudio Bonati,
Simone Coscetti (),
Massimo D’Elia,
Michele Mesiti,
Francesco Negro (),
Enrico Calore,
Sebastiano Fabio Schifano,
Giorgio Silvi and
Raffaele Tripiccione
Additional contact information
Claudio Bonati: Università di Pisa, Lungarno Antonio Pacinotti, 43, 56126, Pisa, Italy†INFN Sezione di Pisa, Edificio C, Largo Pontecorvo 3, I-56127 Pisa, Italy
Simone Coscetti: #x2020;INFN Sezione di Pisa, Edificio C, Largo Pontecorvo 3, I-56127 Pisa, Italy
Massimo D’Elia: Università di Pisa, Lungarno Antonio Pacinotti, 43, 56126, Pisa, Italy†INFN Sezione di Pisa, Edificio C, Largo Pontecorvo 3, I-56127 Pisa, Italy
Michele Mesiti: Università di Pisa, Lungarno Antonio Pacinotti, 43, 56126, Pisa, Italy†INFN Sezione di Pisa, Edificio C, Largo Pontecorvo 3, I-56127 Pisa, Italy
Francesco Negro: #x2020;INFN Sezione di Pisa, Edificio C, Largo Pontecorvo 3, I-56127 Pisa, Italy
Enrico Calore: Università degli Studi di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy4INFN Sezione di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy
Sebastiano Fabio Schifano: Università degli Studi di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy4INFN Sezione di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy
Giorgio Silvi: Università degli Studi di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy4INFN Sezione di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy
Raffaele Tripiccione: Università degli Studi di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy4INFN Sezione di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy
International Journal of Modern Physics C (IJMPC), 2017, vol. 28, issue 05, 1-26
Abstract:
The present panorama of HPC architectures is extremely heterogeneous, ranging from traditional multi-core CPU processors, supporting a wide class of applications but delivering moderate computing performance, to many-core Graphics Processor Units (GPUs), exploiting aggressive data-parallelism and delivering higher performances for streaming computing applications. In this scenario, code portability (and performance portability) become necessary for easy maintainability of applications; this is very relevant in scientific computing where code changes are very frequent, making it tedious and prone to error to keep different code versions aligned. In this work, we present the design and optimization of a state-of-the-art production-level LQCD Monte Carlo application, using the directive-based OpenACC programming model. OpenACC abstracts parallel programming to a descriptive level, relieving programmers from specifying how codes should be mapped onto the target architecture. We describe the implementation of a code fully written in OpenAcc, and show that we are able to target several different architectures, including state-of-the-art traditional CPUs and GPUs, with the same code. We also measure performance, evaluating the computing efficiency of our OpenACC code on several architectures, comparing with GPU-specific implementations and showing that a good level of performance-portability can be reached.
Keywords: LQCD; portability; OpenACC; graphics processing units; GPU (search for similar items in EconPapers)
Date: 2017
References: View complete reference list from CitEc
Citations:
Downloads: (external link)
http://www.worldscientific.com/doi/abs/10.1142/S0129183117500632
Access to full text is restricted to subscribers
Related works:
This item may be available elsewhere in EconPapers: Search for items with the same title.
Export reference: BibTeX
RIS (EndNote, ProCite, RefMan)
HTML/Text
Persistent link: https://EconPapers.repec.org/RePEc:wsi:ijmpcx:v:28:y:2017:i:05:n:s0129183117500632
Ordering information: This journal article can be ordered from
DOI: 10.1142/S0129183117500632
Access Statistics for this article
International Journal of Modern Physics C (IJMPC) is currently edited by H. J. Herrmann
More articles in International Journal of Modern Physics C (IJMPC) from World Scientific Publishing Co. Pte. Ltd.
Bibliographic data for series maintained by Tai Tone Lim ().