Accelerate: High-Performance Computing in Haskell
Gabriele Keller ( Utrecht University )
- 16:00 11th March 2022 ( week 8, Hilary Term 2022 )Zoom
This talk presents Accelerate, a data-parallel programming language embedded in Haskell, with multi-core CPU and GPU backends. In Accelerate, data parallelism is expressed through a set of first and second order functions operating on (possibly multi-dimensional) arrays, where parallel and sequential operations are distinguished through types. This statically excludes irregular nested data parallel operations, which the compiler currently cannot efficiently map to the target architecture. We will discuss how Accelerate is positioned in the space of comparable languages and present some of the core ideas underlying the implementation of Accelerate and its embedding in the host language, including the type system of the language. Furthermore, we provide a summary of current projects and where we are planning to take the language in the near future.