Back To Schedule
Friday, November 4 • 2:15pm - 3:00pm
PIR - A parallel LLVM-IR

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Extending an existing compiler intermediate language with parallel constructs is 
a challenging task. Maintainability dictates a minimal extension that will not 
disturb too many of the existing analyses and transformations. At the same time, 
the parallel constructs need to be powerful enough to express different, 
orthogonal execution scenarios. For C/C++, OpenMP is one of the most 
prominent parallelization frameworks that, on its own, allows for multiple 
parallelization schemes. Additionally, other parallel languages such as 
OpenCL, CUDA or Cilk++ would profit from the 
translation to lower level parallel constructs. Finally, automatic parallelizers 
and new (partially) parallel languages such as Julia can be utilized best 
with general parallel constructs that allow to express parallel (or better 
concurrent) execution in an independent and intuitive way throughout the 

In this BOF we want to continue the discussion about PIR, a 
parallel extension of the LLVM-IR. The discussion began in the context of the 
LLVM-HPC working group on IR extensions for parallelization. We will introduce 
the design and concepts behind PIR and shortly report on the lessons learned 
during the ongoing development of our prototype. In the course of this 
introduction we will talk about the goals, common problems as well as use cases 
that motivated our current design. Afterwards we will initiate an open ended 
discussion with the audience for which we allocate the majority of time (≈20 minutes). 

avatar for Johannes Doerfert

Johannes Doerfert

Researcher/PhD Student, Saarland University

Simon Moll

Researcher/PhD Student, Saarland University

Friday November 4, 2016 2:15pm - 3:00pm PDT
3 - BoF (Rm LL21CD)