23280

Array-Oriented Languages and Polyhedral Compilation

Justin Paston-Cooper
Utrecht University, Faculty of Science, Department of Information and Computing Sciences
Utrecht University, 2020

@mastersthesis{paston2020array,

   title={Array-Oriented Languages and Polyhedral Compilation},

   author={Paston-Cooper, Justin},

   year={2020}

}

Download Download (PDF)   View View   Source Source   

291

views

Collection-oriented languages are characterised by their provision of a set of primitives which work on data in aggregate, and are intrinsically suited to parallelisation. Polyhedral compilation systems aim at optimising aggregate computations using an abstract, mathematical representation. However, they are typically run as optimisation passes not over high-level programmes representing aggregate computations, but over the low-level intermediate representation they compile down to. This means that information can be lost if code is not written in the correct form. Accelerate[1] is a collection-oriented language embedded in Haskell. Programmes are compiled into LLVM-IR, that code being passed to the LLVM compiler. Polly[2], a polyhedral optimisation pass of LLVM, aims specifically at optimising programmes typical in Accelerate, namely computations over regular, multi-dimensional arrays. In this project we investigate the strengths of each system in order to see how they can together produce faster code.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2020 hgpu.org

All rights belong to the respective authors

Contact us: