OpenMP 4.5 validation and verification testsuite: design and implementation for offloading features
Date
2020
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
University of Delaware
Abstract
The OpenMP language features have been evolving to meet the rapid development in hardware platforms. Device offloading was introduced in 2013 in the OpenMP 4.0 Specifications. Six years and two specifications releases later, offloading features have considerably improved. Nevertheless, new features have also increased the length and complexity of the specifications and the corresponding implementation. Therefore, compilers and system that support OpenMP offloading are potentially more prone to errors from bugs in the implementation or a miss-interpretation of the specifications. Several compiler vendors have implemented OpenMP 4.5 offloading and are currently working on OpenMP 5.0 implementations. The list includes GCC, Clang/LLVM, XL, CCE, AOMP, and ICC. There are 3 mainstream acceleration devices that can be used for for offloading: Intel's Xeon Phi, AMD GPUs, and NVIDIA GPUs. ☐ On the other hand, the Department Of Energy (DOE) applications and leading supercomputer systems tend to push the bleeding edge of features ratified in the OpenMP specification and tend to expose implementations' rough edges. It is critical for current and future DoE supercomputers and applications that compilers and systems correctly support OpenMP offloading features. ☐ This work presents the design and implementation of a testing infrastructure for OpenMP 4.5 offloading features. Our tests not only evaluate the OpenMP implementations but also expose ambiguities in the OpenMP 4.5 specification. We also evaluate compiler implementations using some kernels extracted from production DOE applications. This helps in assessing the interaction of different OpenMP directives independent of other application artifacts. We see this as a synergistic effort to help identify and correct features that are required by current DOE applications and prevent deployment delays in future DOE systems.
Description
Keywords
Accellerators, Frameworks, Offloading, OpenMP, Programming models, Verification and Validation
