EconPapers    
Economics at your fingertips  
 

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 ().

 
Page updated 2025-03-20
Handle: RePEc:wsi:ijmpcx:v:28:y:2017:i:05:n:s0129183117500632