1. Experiences in porting mini‐applications to OpenACC and OpenMP on heterogeneous systems
- Author
-
Christopher S. Daley, Reuben D. Budiardja, Wayne Joubert, Verónica G. Vergara Larrea, Oscar Hernandez, and Rahulkumar Gayatri
- Subjects
Artificial Intelligence and Image Processing ,Computer Networks and Communications ,Computer science ,02 engineering and technology ,Parallel computing ,mini-applications ,computer.software_genre ,Porting ,Theoretical Computer Science ,Computer Software ,0202 electrical engineering, electronic engineering, information engineering ,IBM ,Implementation ,Cray XK7 ,020206 networking & telecommunications ,OpenMP ,Computer Science Applications ,performance evaluation ,OpenACC ,Titan (supercomputer) ,Computational Theory and Mathematics ,020201 artificial intelligence & image processing ,Compiler ,Distributed Computing ,computer ,Software - Abstract
Author(s): Vergara Larrea, VG; Budiardja, RD; Gayatri, R; Daley, C; Hernandez, O; Joubert, W | Abstract: This article studies mini-applications—Minisweep, GenASiS, GPP, and FF—that use computational methods commonly encountered in HPC. We have ported these applications to develop OpenACC and OpenMP versions, and evaluated their performance on Titan (Cray XK7 with K20x GPUs), Cori (Cray XC40 with Intel KNL), Summit (IBM AC922 with Volta GPUs), and Cori-GPU (Cray CS-Storm 500NX with Intel Skylake and Volta GPUs). Our goals are for these new ports to be useful to both application and compiler developers, to document and describe the lessons learned and the methodology to create optimized OpenMP and OpenACC versions, and to provide a description of possible migration paths between the two specifications. Cases where specific directives or code patterns result in improved performance for a given architecture are highlighted. We also include discussions of the functionality and maturity of the latest compilers available on the above platforms with respect to OpenACC or OpenMP implementations.
- Published
- 2020