[Haskell-cafe] Re: Paralelism and Distribution in Haskell

Ben Lippmeier benl at ouroborus.net
Tue Sep 7 04:42:59 EDT 2010


On 07/09/2010, at 6:11 PM, Johannes Waldmann wrote:

> Mathew de Detrich <deteego <at> gmail.com> writes:
> 
>> Haskell is still by far one of the best languages 
>> to deal with concurrency/parallelism. 
> 
> Sure, I fully agree.
> 
> I am using concurrency (with explicit forkIO, communication via Chan) 
> a lot (my Haskell application controls several external constraint solvers).
> 
> For parallelism, I'm just missing some benchmark code
> that I can run on my machine (i7 CPU, GTX 295 GPU, ghc-6.12.3)
> more or less "out-of-the-box" and that will impress my students and myself.
> (That is, get a speed-up of 8, or 480, without the program
> looking 8 times (or 480 times) more ugly...)
> 

The matrix-matrix multiplication benchmark from the Repa library does this.

Check out 
  http://www.cse.unsw.edu.au/~benl/papers/repa/repa-icfp2010.pdf
  http://hackage.haskell.org/package/repa
  http://hackage.haskell.org/package/repa-examples

Though be warned you must use a recent GHC head build to get good performance. After GHC 7.0 is out (in a few weeks) we'll be able to release a properly stable version.

Note that "speedup" is an important consideration, but not the end of the story. It's harder to find a benchmark that displays all of nice code + speedup + good absolute performance. The first and last of these tend not to be friends.

Ben.



More information about the Haskell-Cafe mailing list