Machine Learning-Driven Adaptive OpenMP For
Portable Performance on Heterogeneous Systems
1
Scientific Achievement
Customized configurations of software execution variants for different machines can enable optimal performance on heterogeneous supercomputers. Manual configuration customization leads to portability challenges. Our extensions to OpenMP, a mainstream HPC programming model, customize the configurations of scientific applications running on heterogeneous computers fully through automated machine learning-driven runtime adaptation.
Results on CPU-GPU execution adaptation:
XSbench on Power9+v100 vs. Intel+P100
Technical Approach
Chunhua Liao, Anjia Wang, Giorgis Georgakoudis, Bronis R. de Supinski,Yonghong Yan, David Beckingsale, and Todd Gamblin, Extending OpenMP for Machine Learning-Driven Adaptation, Eighth Workshop on Accelerator Programming Using Directives (WACCPD), Nov. 2021. (LLNL-CONF-826432) https://doi.org/10.1007/978-3-030-97759-7_3
Giorgis Georgakoudis, Konstantinos Parasyris, Chunhua Liao, David Beckingsale, Todd Gamblin, Bronis de Supinski, Machine Learning-Driven Adaptive OpenMP For Portable Performance on Heterogeneous Systems, ACM Transactions on Architecture and Code Optimization (submitted), Feb. 2023
New OpenMP directives supporting CPU-GPU execution adaptation:
leveraging directive variants defined by metadirective
Significance and Impact
Traditional adaptation workflows involve tedious and error-prone manual generation of code variants, to collect performance data for building models that guide runtime adaptation. Our seamlessly integration of this complex workflow into a programming model significantly improves programmer productivity and application portability.