Skip to main navigation Skip to search Skip to main content

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

  • Shilei Tian
  • , Joseph Huber
  • , John Tramm
  • , Barbara Chapman
  • , Johannes Doerfert
  • Stony Brook University
  • Oak Ridge National Laboratory
  • Argonne National Laboratory

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

8 Scopus citations

Abstract

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 programs. These and other problems can be addressed through both 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 device-side 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 measure the performance of our LTO and JIT implementation via 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.

Original languageEnglish
Title of host publicationOpenMP in a Modern World
Subtitle of host publicationFrom Multi-device Support to Meta Programming - 18th International Workshop on OpenMP, IWOMP 2022, Proceedings
EditorsMichael Klemm, Bronis R. de Supinski, Jannis Klinkenberg, Brandon Neth
PublisherSpringer Science and Business Media Deutschland GmbH
Pages145-158
Number of pages14
ISBN (Print)9783031159213
DOIs
StatePublished - 2022
Event18th International Workshop on OpenMP, IWOMP 2022 - Chattanooga, United States
Duration: Sep 27 2022Sep 30 2022

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13527 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference18th International Workshop on OpenMP, IWOMP 2022
Country/TerritoryUnited States
CityChattanooga
Period09/27/2209/30/22

Keywords

  • GPU
  • JIT
  • LTO
  • OpenMP

Fingerprint

Dive into the research topics of 'Just-in-Time Compilation and Link-Time Optimization for OpenMP Target Offloading'. Together they form a unique fingerprint.

Cite this