Moya—A JIT Compiler for HPC

Tarun Prabhu, William D Gropp

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We describe Moya, an annotation-driven JIT compiler for compiled languages such as Fortran, C and C++. We show that a combination of a small number of easy-to-use annotations coupled with aggressive static analysis that enables dynamic optimization can be used to improve the performance of computationally intensive, long-running numerical applications. We obtain speedups of upto 1.5 on JIT’ed functions and overcome the overheads of the JIT compilation within 25 timesteps in a combustion-simulation application.

Original languageEnglish (US)
Title of host publicationProgramming and Performance Visualization Tools - International Workshops, ESPT 2017 and VPA 2017, Revised Selected Papers
EditorsJoshua A. Levine, Martin Schulz, Allen D. Malony, Abhinav Bhatele, David Boehme
PublisherSpringer-Verlag
Pages56-73
Number of pages18
ISBN (Print)9783030178710
DOIs
StatePublished - Jan 1 2019
Event6th Workshop on Extreme-Scale Programming Tools, ESPT 2017 and 4th International Workshop on Visual Performance Analysis, VPA 2017 and Workshop on Extreme-Scale Programming Tools, ESPT 2018 and 5th International Workshop on Visual Performance Analysis, VPA 2018 - Dallas, United States
Duration: Nov 11 2018Nov 16 2018

Publication series

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

Conference

Conference6th Workshop on Extreme-Scale Programming Tools, ESPT 2017 and 4th International Workshop on Visual Performance Analysis, VPA 2017 and Workshop on Extreme-Scale Programming Tools, ESPT 2018 and 5th International Workshop on Visual Performance Analysis, VPA 2018
CountryUnited States
CityDallas
Period11/11/1811/16/18

Fingerprint

Compiler
Annotation
Dynamic Optimization
Static analysis
Static Analysis
Compilation
C++
Combustion
Simulation
Language

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

Prabhu, T., & Gropp, W. D. (2019). Moya—A JIT Compiler for HPC. In J. A. Levine, M. Schulz, A. D. Malony, A. Bhatele, & D. Boehme (Eds.), Programming and Performance Visualization Tools - International Workshops, ESPT 2017 and VPA 2017, Revised Selected Papers (pp. 56-73). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 11027 LNCS). Springer-Verlag. https://doi.org/10.1007/978-3-030-17872-7_4

Moya—A JIT Compiler for HPC. / Prabhu, Tarun; Gropp, William D.

Programming and Performance Visualization Tools - International Workshops, ESPT 2017 and VPA 2017, Revised Selected Papers. ed. / Joshua A. Levine; Martin Schulz; Allen D. Malony; Abhinav Bhatele; David Boehme. Springer-Verlag, 2019. p. 56-73 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 11027 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Prabhu, T & Gropp, WD 2019, Moya—A JIT Compiler for HPC. in JA Levine, M Schulz, AD Malony, A Bhatele & D Boehme (eds), Programming and Performance Visualization Tools - International Workshops, ESPT 2017 and VPA 2017, Revised Selected Papers. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 11027 LNCS, Springer-Verlag, pp. 56-73, 6th Workshop on Extreme-Scale Programming Tools, ESPT 2017 and 4th International Workshop on Visual Performance Analysis, VPA 2017 and Workshop on Extreme-Scale Programming Tools, ESPT 2018 and 5th International Workshop on Visual Performance Analysis, VPA 2018, Dallas, United States, 11/11/18. https://doi.org/10.1007/978-3-030-17872-7_4
Prabhu T, Gropp WD. Moya—A JIT Compiler for HPC. In Levine JA, Schulz M, Malony AD, Bhatele A, Boehme D, editors, Programming and Performance Visualization Tools - International Workshops, ESPT 2017 and VPA 2017, Revised Selected Papers. Springer-Verlag. 2019. p. 56-73. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)). https://doi.org/10.1007/978-3-030-17872-7_4
Prabhu, Tarun ; Gropp, William D. / Moya—A JIT Compiler for HPC. Programming and Performance Visualization Tools - International Workshops, ESPT 2017 and VPA 2017, Revised Selected Papers. editor / Joshua A. Levine ; Martin Schulz ; Allen D. Malony ; Abhinav Bhatele ; David Boehme. Springer-Verlag, 2019. pp. 56-73 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{c9db33011a7f45b48546e1a54ffac357,
title = "Moya—A JIT Compiler for HPC",
abstract = "We describe Moya, an annotation-driven JIT compiler for compiled languages such as Fortran, C and C++. We show that a combination of a small number of easy-to-use annotations coupled with aggressive static analysis that enables dynamic optimization can be used to improve the performance of computationally intensive, long-running numerical applications. We obtain speedups of upto 1.5 on JIT’ed functions and overcome the overheads of the JIT compilation within 25 timesteps in a combustion-simulation application.",
author = "Tarun Prabhu and Gropp, {William D}",
year = "2019",
month = "1",
day = "1",
doi = "10.1007/978-3-030-17872-7_4",
language = "English (US)",
isbn = "9783030178710",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer-Verlag",
pages = "56--73",
editor = "Levine, {Joshua A.} and Martin Schulz and Malony, {Allen D.} and Abhinav Bhatele and David Boehme",
booktitle = "Programming and Performance Visualization Tools - International Workshops, ESPT 2017 and VPA 2017, Revised Selected Papers",

}

TY - GEN

T1 - Moya—A JIT Compiler for HPC

AU - Prabhu, Tarun

AU - Gropp, William D

PY - 2019/1/1

Y1 - 2019/1/1

N2 - We describe Moya, an annotation-driven JIT compiler for compiled languages such as Fortran, C and C++. We show that a combination of a small number of easy-to-use annotations coupled with aggressive static analysis that enables dynamic optimization can be used to improve the performance of computationally intensive, long-running numerical applications. We obtain speedups of upto 1.5 on JIT’ed functions and overcome the overheads of the JIT compilation within 25 timesteps in a combustion-simulation application.

AB - We describe Moya, an annotation-driven JIT compiler for compiled languages such as Fortran, C and C++. We show that a combination of a small number of easy-to-use annotations coupled with aggressive static analysis that enables dynamic optimization can be used to improve the performance of computationally intensive, long-running numerical applications. We obtain speedups of upto 1.5 on JIT’ed functions and overcome the overheads of the JIT compilation within 25 timesteps in a combustion-simulation application.

UR - http://www.scopus.com/inward/record.url?scp=85068966971&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85068966971&partnerID=8YFLogxK

U2 - 10.1007/978-3-030-17872-7_4

DO - 10.1007/978-3-030-17872-7_4

M3 - Conference contribution

AN - SCOPUS:85068966971

SN - 9783030178710

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 56

EP - 73

BT - Programming and Performance Visualization Tools - International Workshops, ESPT 2017 and VPA 2017, Revised Selected Papers

A2 - Levine, Joshua A.

A2 - Schulz, Martin

A2 - Malony, Allen D.

A2 - Bhatele, Abhinav

A2 - Boehme, David

PB - Springer-Verlag

ER -