Skip to content
0:00 / 0:00

#dataparallelhaskell#nesteddataparallelism#simonpeytonjones

Harnessing the Multicores: Nested Data Parallelism in Haskell

Microsoft Research

359K subscribers • 11 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Simon Peyton Jones

Advanced. Deep dive for people who know the field.

5.6K views10 years ago1 recommendation

Programming languagesSystems programmingHaskellConcurrency and parallelismPerformance and optimization

Simon Peyton Jones explains Data Parallel Haskell and how nested data parallelism can harness multicore processors.

If you want to program a parallel computer, a purely functional language like Haskell is a promising starting point. Since the language is pure, it is by-default safe for parallel evaluation, whereas imperative languages are by-default unsafe. But that doesnΓÇÖt make it easy! Indeed it has proved quite difficult to get robust, scalable performance increases through parallel functional programming, especially as the number of processors increases. A particularly promising and well-studied approach to employing large numbers of processors is to employ data parallelism. BlellochΓÇÖs pioneering work on NESL showed that it was possible to combine a rather flexible programming model (nested data parallelism) with a fast, scalable execution model (flat data parallelism). In this talk I will describe Data Parallel Haskell, which embodies nested data parallelism in a modern, general-purpose language, implemented in a state-of-the-art compiler, GHC. I will focus particularly on the cunning vectorisation transformation, which transforms nested to flat data parallelism.

Why it's here

1 person recommends this

What people say. Recommended as an excellent explanation of nested data parallelism and Data Parallel Haskell by Simon Peyton Jones.

u/joehillenin r/haskell • Recommends

Harnessing the Multicores: Nested Data Parallelism in Haskell by Simon Peyton Jones