HPC is a heterogeneous world in which host and device code are interleaved throughout the application. Given the significant performance advantage of accelerators, device code execution time is becoming the new bottleneck. Tuning the accelerated parts is consequently highly desirable but often impractical due to the large overall application runtime which includes unrelated host parts. We propose a Record-Replay (RR) mechanism to facilitate auto-tuning of large (OpenMP) offload applications. RR dissects the application, effectively isolating GPU kernels into independent executables. These comparatively small codelets are amenable to various forms of post-processing, including elaborate auto-tuning. By eliminating the resource requirements and application dependencies, massively parallel and distributed auto-tuning becomes feasible. Utilizing RR, we run scalable Bayesian Optimization to determine optimal kernel launch parameters. LULESH showcases an end-to-end speedup of up to 1.53 ×, while RR enables 102× faster tuning compared to existing approaches using the entire application.
CITATION STYLE
Parasyris, K., Georgakoudis, G., Rangel, E., Laguna, I., & Doerfert, J. (2023). Scalable Tuning of (OpenMP) GPU Applications via Kernel Record and Replay. In International Conference for High Performance Computing, Networking, Storage and Analysis, SC. IEEE Computer Society. https://doi.org/10.1145/3581784.3607098
Mendeley helps you to discover research relevant for your work.