Symbolic Execution Based Automatic Performance Optimization for MPI Programs
Overlapping communication with computation is a common way to optimize parallel programs in high-performance computing. However, this optimization is often carried out manually and is challenging to be automated to achieve a better performance. In this extended abstract, we report our recent progress of a symbolic execution-based automatic method for optimizing Message Passing Interface (MPI) programs by overlapping communication and computation. The key idea is to transform blocking communication operations into non-blocking ones while preserving the correctness of computation. We employ symbolic execution to extract the symbolic paths from the MPI program, based on which we can find the potential locations for optimization in each path. Then, we synthesize a global optimization transformation based on the potential optimization locations. The MPI program's performance can be improved after applying the global optimization transformation. The preliminary experimental results indicate the promise of our method.
Authors
- Zhenbang Chen (ORCID: https://orcid.org/0000-0002-4066-7892)
- Ji Wang (ORCID: https://orcid.org/0000-0003-0637-8744)
- Zheng Bian
Institutions
- National University of Defense Technology (CN)
Publication Details
- Published
- 2025-06-23
- DOI
- https://doi.org/10.1145/3696630.3731438
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Natural Science Foundation of China