University of Illinois Releases HPVM As Heterogeneous Parallel Systems Compiler
University of Illinois and associated developers have released HPVM 0.5, their LLVM-based compiler infrastructure for Heterogeneous Parallel Systems with CPU execution and OpenCL-based NVIDIA GPU support.
HPVM is a University of Illinois research project for exploring heterogeneous parallelism with a language-neutral IR and virtual instruction set.
This week's release of HPVM 0.5 is the project's first public release. As explained on the project site, "The representation we have developed is called HPVM (Heterogeneous Parallel Virtual Machine): a hierarchical dataflow graph with shared memory and vector instructions. It supports three important capabilities for programming heterogeneous systems: a language-neutral and hardware-neutral compiler IR, a virtual ISA, and a basis for runtime scheduling; previous systems focus on only one of these capabilities. As a compiler IR, HPVM aims to enable effective code generation and optimization for heterogeneous systems. As a virtual ISA, it aims to achieve both functional portability and performance portability cross such systems. At runtime, HPVM enables flexible scheduling policies, both through the graph structure and the ability to compile individual nodes in a program to any of the target devices on a system." For further reading on the HPVM design is this 2018 research paper on the effort while only this week was the code made open-source.
More information on this inaugural open-source HPVM release via the LLVM mailing list and Illinois.edu's Gitlab.
HPVM is a University of Illinois research project for exploring heterogeneous parallelism with a language-neutral IR and virtual instruction set.
This week's release of HPVM 0.5 is the project's first public release. As explained on the project site, "The representation we have developed is called HPVM (Heterogeneous Parallel Virtual Machine): a hierarchical dataflow graph with shared memory and vector instructions. It supports three important capabilities for programming heterogeneous systems: a language-neutral and hardware-neutral compiler IR, a virtual ISA, and a basis for runtime scheduling; previous systems focus on only one of these capabilities. As a compiler IR, HPVM aims to enable effective code generation and optimization for heterogeneous systems. As a virtual ISA, it aims to achieve both functional portability and performance portability cross such systems. At runtime, HPVM enables flexible scheduling policies, both through the graph structure and the ability to compile individual nodes in a program to any of the target devices on a system." For further reading on the HPVM design is this 2018 research paper on the effort while only this week was the code made open-source.
More information on this inaugural open-source HPVM release via the LLVM mailing list and Illinois.edu's Gitlab.
13 Comments