[Pl-seminar] PL seminar schedule

Aaron Turon turon at ccs.neu.edu
Tue Apr 20 09:28:29 EDT 2010


Update:  it turns out that we will be hearing about Hoopl from Norman
Ramsey in a few weeks, so Simon Peyton Jones will give the following
talk instead:

Wednesday, April 21, 2010

11:45am - 1:30pm
Room 366 WVH (http://www.ccs.neu.edu/home/wand/directions.html)

Data Parallel Haskell
Simon Peyton Jones

There are many approaches to exploiting multi-cores, but a particularly
promising one is the "data-parallel" paradigm, because it combines
massive parallelism (on both shared and distributed memory) with a
simple, single-control-flow programming model.  Indeed, I think that
data parallelism is the only way we will be able to exploit tens or
hundreds of processors effectively.

Alas, data-parallel programming is usually restricted to "flat" data
parallelism, which is good for implementers but bad for programmers.
Instead, I'll describe the "nested" data parallel programming model,
first developed in the 90's by Blelloch and Sabot.  It is great for
programmers but much harder to implement; as a result, it's virtually
unknown in practice.  It's really only feasible to support nested data
parallelism in a purely functional language, so we are building a
high-performance implementation in Haskell.

On Mon, Apr 19, 2010 at 12:28 PM, Aaron Turon <turon at ccs.neu.edu> wrote:
> NEU Programming Languages Seminar presents
>
> Simon Peyton Jones
> Microsoft Research
>
> Wednesday, April 21, 2010
>
> 11:45am - 1:30pm
> Room 366 WVH (http://www.ccs.neu.edu/home/wand/directions.html)
>
> Hoopl:  A Modular, Reusable Library for Dataflow Analysis and Transformation
> Simon Peyton Jones, Microsoft Research
> Norman Ramsey, John Dias, Tufts University
>
> Dataflow analysis and transformation of control-flow graphs is pervasive in
> optimizing compilers, but it is typically tightly interwoven with the details
> of a particular compiler. In this talk I'll tell you about Hoopl, a reusable
> Haskell library that makes it unusually easy to define new analyses and
> transformations for any compiler. Hoopl's interface is modular and
> polymorphic, and it offers unusually strong static guarantees. The
> implementation is also far from routine: it encapsulates state-of-the-art
> algorithms --- interleaved analysis and rewriting, dynamic error isolation ---
> and it cleanly separates their tricky elements so that they can be understood
> independently.
>
> The talk is very concrete: it's as much about how to realise the design in a
> typed language as it is about the algorithms themselves. You'll see lots of
> Haskell code, including GADTs and a type-level function or two. I'll
> introduce the bits we need as we go, so you don't need to be a Haskell junkie
> to make sense of it.
>
> Hoopl is part of GHC, but is also a separately available Haskell package. It
> is joint work with Norman Ramsey and John Dias from nearby Tufts.
>



More information about the pl-seminar mailing list