Experiences porting mini-applications to OpenACC and OpenMP on heterogeneous systems

Melesse Vergara, Veronica [ORNL]; Budiardja, Reuben [ORNL]; Gayatri, Rahulkumar [Lawrence Berkeley National Laboratory (LBNL)]; Daley, Christopher [Lawrence Berkeley National Laboratory (LBNL)]; Hernandez, Oscar R. [ORNL]; Joubert, Wayne [ORNL] · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2019

This paper studies mini-applications-minisweep, GenASIS, GPP, and FF-that use computational methods commonly encountered in HPC.We will port these applications to develop OpenACC and OpenMP versions, and evaluate their performance on Titan (Cray XK7/K20x GPUs), Cori (Cray XC40/Intel KNL), Summit (IBM Power9/Volta GPUs), and Cori-GPU (Cray CS-Storm 500NX/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 will be 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.

Read the paper · More papers on PaperTik