Back to results

University of Illinois at Urbana-Champaign

Just in time compilation for high performance computing

Abstract

dc:description

Application developers seeking to improve the performance of their code while retaining its portability and maintainability are heavily reliant on the compiler determining the appropriate sequence of code transformations that will maximize performance on a given platform. However, the parameters that the compiler requires to determine the safety and profitability of these transformations, such as array bounds, are often only known at run-time. To mitigate this problem, many compilers provide an annotation language that can be used to force the compiler to perform certain transformations. However, these annotations are not always portable and must be kept in sync with the underlying code. Failure to do so can lead to subtle and hard-to-diagnose bugs. One approach to address this issue is Just In Time (JIT) compilation. This is a technique where all or part of the code is recompiled at run-time just before it (the code) is executed. The compiler at this stage can use the run-time data to guide its optimization decisions. In this dissertation, we explore the use of JIT compilation in HPC applications. We seek to determine whether JIT compilation can be profitable for real-world applications written in compiled languages like C/C++ and Fortran and if existing applications can be retrofitted with little to no programmer intervention. To this end, we first retrofit a JIT compiler into the MPI runtime to dynamically compile code for MPI's derived datatypes. We then build a JIT compiler, Moya, to semi-automatically add JIT compilation capabilities to entire applications. We show that through a combination of carefully designed annotations and aggressive static analyses, a JIT compiler can improve application performance with minimal programmer intervention.

Degree

thesis:*
Name thesis:degree_name
Ph.D.
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer Science
Grantor
University of Illinois at Urbana-Champaign
Year dc:date
2022

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Prabhu, Tarun
Contributors dc:contributor
  • Gropp, William D
  • Adve, Vikram
  • Hoefler, Torsten
  • Fischer, Paul

Subjects

dc:subject × 7

Rights

dc:rights
Statement dc:rights
  • Copyright 2022, Tarun Prabhu
Language dc:language
en, eng

Identifiers

dc:identifier.*
Handle dc:identifier
https://hdl.handle.net/2142/115354

Chain of custody

source
Harvested from
University of Illinois - Urbana-Champaign
Base URL
www.ideals.illinois.edu/oai-pmh
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Prabhu, Tarun. Just in time compilation for high performance computing. Dissertation thesis, University of Illinois at Urbana-Champaign, 2022. https://hdl.handle.net/2142/115354