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.
i would like have more videos like this - wonderful! thank you very much.
hapethere 1 year ago 10
Awesome talk, BUT HE USED COMIC SANS TO TYPESET HIS ENTIRE PRESENTATION >:(
This is the downside of being a dual-class Programmer/Graphic Designer
lZovic 1 year ago 9