[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