August 2020

Journal

Analysis of OpenMP 4.5 Offloading in Implementations: Correctness and Overhead

By:
Monsalve diaz, Jose; Friedline, Kyle; Pophale, Swaroop S; Hernandez Mendoza, Oscar R; Bernholdt, David E; Chandrasekaran, Sunita
Journal Name:
Parallel Computing
Page Number:
102546
Volume:
89
Issue Number:
November
Publication Date:
August 21, 2020
View DOI Listing:
https://doi.org/10.1016/j.parco.2019.102546

Abstract

The OpenMP language features have been evolving to meet the rapid development in hardware platforms. This journal focuses on evaluating implementations of OpenMP 4.5 target offload features in compilers such as Clang, XL and GCC that are an integral part of the software harness on supercomputers and clusters. We use Summit (Top supercomputer in the world as of November 2018) as one of our experimental setup. Such an effort is particularly critical on such supercomputers as that is being widely used by application developers to run their scientific codes at scale. Our tests not only evaluate the OpenMP implementations but also expose ambiguities within the OpenMP 4.5 specification. We also assess the overhead of the different OpenMP runtimes in relationship to the different directives and clauses. This helps in assessing the interaction of different OpenMP directives independent of other application artifacts. We are aware that the implementations are constantly evolving and Summit is advertised as having only partial OpenMP 4.x support. This is a synergistic effort to help identify and fix bugs in features’ implementations that are required by applications and prevent deployment delays later on. Going forward, we also plan to interact with standard benchmarking organizations like SPEC/HPG to donate our tests and mini-apps/kernels for potential inclusion in the next release versions of SPEC benchmark suite.