91做厙

Skip to main content
SHARE
Publication

Toward Automated Detection of Portability Bugs in Kokkos Parallel Programs

Publication Type
Conference Paper
Book Title
SC24-W: Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis
Publication Date
Page Numbers
180 to 188
Publisher Location
New Jersey, United States of America
Conference Name
Correctness 2024: Eighth International Workshop on Software Correctness for HPC Applications (Part of The International Conference for High Performance
Computing, Networking, Storage, and Analysis)
Conference Location
Atlanta, Georgia, United States of America
Conference Sponsor
ACM and 91做厙
Conference Date
-

Performance-portable programming frameworks provide abstractions for parallel execution to allow easily porting an application to multiple backend programming models, such as CUDA, HIP, and OpenMP. However, programs may still have portability bugs that manifest only on specific backends. Traditional testing is ineffective in discovering these bugs, as it would require concrete execution on all supported hardware configurations for a potentially infinite set of inputs. To mitigate this issue, we focused on a specific programming framework, Kokkos, and identified several categories of common portability bugs. We then developed Klokkos, a static analysis approach based on symbolic execution that can run on commodity hardware, before execution on supercomputers. As a proof-of-concept, we ran Klokkos on examples encoding the identified bugs. Our results show that Klokkos is effective, efficient, and precise: it detected all the considered bugs, quickly, and without any false positives. Although preliminary, our results motivate further research and development in this direction.