2016

HPVM: A Portable Virtual Instruction Set for Heterogeneous Parallel Systems

Srivastava, Prakalp, Kotsifakou, Maria, Adve, Vikram

Understand

We describe a programming abstraction for heterogeneous parallel hardware, designed to capture a wide range of popular parallel hardware, including GPUs, vector instruction sets and multicore CPUs.

  • Our abstraction, which we call HPVM, is a hierarchical dataflow graph with shared memory and vector instructions.
  • We use HPVM to define both a virtual instruction set (ISA) and also a compiler intermediate representation (IR).
  • The virtual ISA aims to achieve both functional portability and performance portability across heterogeneous systems, while the compiler IR aims to enable effective code generation and optimization for such systems.

Built on

  • LLVM: A compilation framework for lifelong program analysis and transformation

    Chris Lattner and Vikram Adve · 2004

    Earlier work this paper cites.

Similar

  • Parboil: A revised benchmark suite for scientific and commercial throughput computing

    John A Stratton, Christopher Rodrigues, et al · 2012

    Cited alongside, same era.

Then

  • Personal communication, 2015

    Li-wen Chang · 2015

    Later among the works it cites.

Beyond the bibliography

alphaXiv searches the wider corpus for related work and actual follow-ups.

Open on alphaXiv

alphaXiv is searching for related work…