ompTest – Unit Testing with OMPT

Jan-Patrick Lehr, Michael Halkenhäuser, Dhruva Chakrabarti, Saiyedul Islam, Dan Palermo, Ron Lieberman
2024
1 reference

Abstract

OpenMP® is a widely used API in high-performance computing that enables parallelization on the host as well as offload work to an accelerator, such as a GPU. The OpenMP specification defines an OpenMP Tool Interface (OMPT), which allows a third-party tool be notified about OpenMP runtime events. Ensuring that the runtime correctly reports such events is thus important. We propose a unit testing framework for testing OpenMP implementations, like the ROCm™ compiler. It offers a simple-to-use framework that allows a tester to check for OMPT events in addition to the regular unit testing code. It also facilitates writing concise tests while bridging the semantic gap between the unit under test and the OMPT-event testing. Our experimental results show that for the ROCm compiler, ompTest provides coverage similar to its existing test cases, with better readability, and a compile and runtime speedup close to 2.5× for the ROCm OMPT test suite.

1 repository
1 reference

Code References

llvm/llvm-project
1 file
openmp/tools/omptest/README.md
1
L276 https://doi.org/10.1109/SCW63240.2024.00031
Link copied to clipboard!