Heterogeneous Parallel Virtual Machine and Parallelism in LLVM
Workshop: LLVM-HPC2017: Fourth Workshop on the LLVM Compiler Infrastructure in HPC
Abstract: Today's mainline LLVM IR, optimizers and code generators have no explicit knowledge of parallelism available in target programs, except for SIMD vector parallelism. In this talk, I will briefly describe two closely related efforts. The first, HPVM, is an ongoing research project at the University of Illinois to enable optimization, code generation, and (virtual) object code portability for diverse heterogeneous hardware, including GPUs, vector ISAs, FPGAs and domain-specific hardware accelerators. The second is a collaborative effort with several other research groups to develop mechanisms for explicitly parallel IRs to integrate cleanly with the LLVM IR, and to design a specific language-neutral parallel IR for homogeneous and heterogeneous parallel systems implemented using these mechanisms.