27020

Just-in-Time Compilation and Link-Time Optimization for OpenMP Target Offloading

Shilei Tian, Joseph Huber, Barbara Chapman, Johannes Doerfert
Stony Brook University, USA
International Workshop on OpenMP (IWOMP), 2022

@article{doerfert2022just,

   title={Just-in-Time Compilation and Link-Time Optimization for OpenMP Target Offloading},

   author={Tian, Shilei and Huber, Joseph and Chapman, Barbara},

   year={2022}

}

Download Download (PDF)   View View   Source Source   

159

views

Following the mass adoption of external accelerators for high performance computing, the overall performance of many applications has become increasingly dependent on relatively small accelerated kernels. As static analysis is fundamentally limited by dynamic values and external definitions, standard ahead-of-time compilation is not always sufficient to achieve the best performance. Furthermore, many users looking to port an existing application to run on an external accelerator will not want to fundamentally restructure their program. These and other problems problems can be addressed through link-time optimization (LTO) and just-in-time (JIT) compilation, but until now had sparse and inconsistent support from the compiler. In this work, we present a new compilation method that enables deviceside LTO as well as a transparent JIT compilation tool-chain for OpenMP target offloading. Our contributions include an entirely new device linking and embedding scheme to enable LTO as well as a novel JIT engine to efficiently optimize OpenMP offloading regions at run-time. We also introduce a persistent caching system to improve end-to-end runtime using the JIT engine and minimize kernel launching overheads. We compare the performance of our LTO and JIT implementation against several real-world scientific applications. With our optimizations we observe significant improvements through LTO on large applications as well as significant end-to-end execution time improvement using JIT.
No votes yet.
Please wait...

* * *

* * *

* * *

HGPU group © 2010-2022 hgpu.org

All rights belong to the respective authors

Contact us: