🤖 AI Summary
In HPC heterogeneous applications, subtle CPU/GPU co-execution defects—stemming from data migration inefficiencies and causing cross-platform behavioral inconsistencies—are difficult to detect using conventional testing methods. Method: This paper proposes the first end-to-end detection framework integrating NLP-driven code semantic understanding, off-target testing, customized fuzzing, and differential execution. It requires no manual annotation or platform-specific prior knowledge, automatically identifying latent defects arising from memory access patterns, synchronization logic, or data layout discrepancies. Contribution/Results: Evaluated on the LAMMPS molecular dynamics simulator, the framework successfully uncovers multiple real-world heterogeneous defects. It significantly improves cross-platform consistency and reliability across diverse HPC environments, establishing a novel paradigm for heterogeneity-aware robustness verification of scientific computing software.
📝 Abstract
Scientific advancements rely on high-performance computing (HPC) applications that model real-world phenomena through simulations. These applications process vast amounts of data on specialized accelerators (eg., GPUs) using special libraries. Heterogeneous bugs occur in these applications when managing data movement across different platforms, such as CPUs and GPUs, leading to divergent behavior when using heterogeneous platforms compared to using only CPUs. Existing software testing techniques often fail to detect such bugs because either they do not account for platform-specific characteristics or target specific platforms. To address this problem, we present HeteroBugDetect, an automated approach to detect platform-dependent heterogeneous bugs in HPC scientific applications. HeteroBugDetect combines natural-language processing, off-target testing, custom fuzzing, and differential testing to provide an end-to-end solution for detecting platform-specific bugs in scientific applications. We evaluate HeteroBugDetect on LAMMPS, a molecular dynamics simulator, where it detected multiple heterogeneous bugs, enhancing its reliability across diverse HPC environments.