Skip to main content

Accelerate: High-Performance Computing in Haskell

Gabriele Keller ( Utrecht University )
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.

Speaker bio

Gabriele Keller is the chair of the Software Technology Group at Utrecht University in the Netherlands. Before moving to Utrecht, she was an Associate Professor at University of New South Wales in Sydney, Australia, where she co-founded the Programming Language and Systems Group. Her research interests are in programming languages, in particular functional languages and languages for high-performance computing, as well as verified compilation of programming languages.

 

Video

 

Share this: