Data Parallelism in Haskell

DIKU-Talk by Manuel Chakravarty, University of New South Wales, Australia


Data parallelism is one of the most promising programming models for scalable parallel programs and the basis for successful methodologies, such as MapReduce and many Fortran dialects. Nevertheless, its expressiveness is limited in most current forms as it is restricted to flat parallelism - that is, parallel computations can either not be nested at all or the nesting must be regular. This limits modularity as well as the range of applications that can benefit from data parallelism.

I like to begin this talk by motivating the natural fit between data parallelism and functional programming. Then, I will outline three advances over basic data parallel programming in Haskell: shape-polymorphic, regular arrays; the offloading of array computations to GPUs; and nested data parallelism. The programming model of nested data parallelism has long been know for its elegance, but it is hard to implement efficiently. I will discuss how nested parallelism improves modularity and broadens the range of applications.

Short bio 

Manuel M T Chakravarty is an Associate Professor at the University of New South Wales, Sydney.  His main research interests are in functional programming languages, novel compiler technology, and parallel programming. He graduated from the University of Karlsruhe and received a doctoral degree from the Technical University of Berlin.

He contributed to Haskell's foreign function interface, the theory and implementation of type families, and the design and realisation of Data Parallel Haskell, an implementation of nested data parallelism in the Glasgow Haskell Compiler. He receives his inspiration from combining theory with practice.

The Talk is performed in conncection with the monthly HIPERFIT-seminar, which is held subsequently in Meeting Room A + B from 15.15 - 16.00.

More info on