Tapir

Abstract

Tapir (pronounced TAY-per) is a compiler intermediate representation (IR) that embeds recursive fork-join parallelism, as supported by task-parallel programming platforms such as Cilk and OpenMP, into a mainstream compiler’s IR. Mainstream compilers typically treat parallel linguistic constructs as syntactic sugar for function calls into a parallel runtime. These calls prevent the compiler from performing optimizations on and across parallel control constructs. Remedying this situation has generally been thought to require an extensive reworking of compiler analyses and code transformations to handle parallel semantics. Tapir leverages the “serial-projection property,” which is commonly satisfied by task-parallel programs, to handle the semantics of these programs without an extensive rework of the compiler.

Document Details

Document Type
Pub Defense Publication
Publication Date
Dec 17, 2019
Source ID
10.1145/3365655

Entities

People

  • Charles E. Leiserson
  • Tao B. Schardl
  • William S. Moses

Organizations

  • Intelligence Advanced Research Projects Activity
  • Massachusetts Institute of Technology
  • National Science Foundation

Tags

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Parallel and Distributed Computing.
  • Theoretical Analysis.