DocumentCode
728860
Title
Development of Scientific Software for HPC Architectures Using Open ACC: The Case of LQCD
Author
Bonati, Claudio ; Calore, Enrico ; Coscetti, Simone ; D´Elia, Massimo ; Mesiti, Michele ; Negro, Francesco ; Schifano, Sebastiano Fabio ; Tripiccione, Raffaele
Author_Institution
Sez. di Pisa, INFN Sezione di Pisa, Pisa, Italy
fYear
2015
fDate
18-18 May 2015
Firstpage
9
Lastpage
15
Abstract
Many scientific software applications, that solve complex compute-or data-intensive problems, such as large parallel simulations of physics phenomena, increasingly use HPC systems in order to achieve scientifically relevant results. An increasing number of HPC systems adopt heterogeneous node architectures, combining traditional multi-core CPUs with energy-efficient massively parallel accelerators, such as GPUs. The need to exploit the computing power of these systems, in conjunction with the lack of standardization in their hardware and/or programming frameworks, raises new issues with respect to scientific software development choices, which strongly impact software maintainability, portability and performance. Several new programming environments have been introduced recently, in order to address these issues. In particular, the Open ACC programming standard has been designed to ease the software development process for codes targeted for heterogeneous machines, helping to achieve code and performance portability. In this paper we present, as a specific Open ACC use case, an example of design, porting and optimization of an LQCD Monte Carlo code intended to be portable across present and future heterogeneous HPC architectures, we describe the design process, the most critical design choices and evaluate the trade off between portability and efficiency.
Keywords
Monte Carlo methods; lattice theory; multiprocessing systems; parallel processing; physics computing; quantum chromodynamics; software maintenance; software portability; GPU; HPC system; LQCD Monte Carlo code; Open ACC use case; OpenACC; complex compute-or data-intensive problem; computing power; design process; energy-efficient massively parallel accelerator; heterogeneous HPC architecture; heterogeneous machine; heterogeneous node architecture; multicore CPU; open ACC programming standard; parallel simulation; performance portability; physics phenomena; programming framework; scientific software application; scientific software development; software development process; software maintainability; software performance; software portability; Computer architecture; Graphics processing units; Hardware; Lattices; Layout; Standards; HPC; LQCD; OpenACC; heterogeneous;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering for High Performance Computing in Science (SE4HPCS), 2015 IEEE/ACM 1st International Workshop on
Conference_Location
Florence
Type
conf
DOI
10.1109/SE4HPCS.2015.9
Filename
7173505
Link To Document