Close

Presentation

Toward Automated Detection of Portability Bugs in Kokkos Parallel Programs
DescriptionPerformance-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, the results motivate further research in this direction.
Event Type
Workshop
TimeMonday, 18 November 202410:47am - 11:04am EST
LocationB315
Tags
Debugging and Correctness Tools
Fault-Tolerance, Reliability, Maintainability, and Adaptability
Software Engineering
Registration Categories
W