Multicore Haskell Now!

Don Stewart summarised the state of play of parallel programming in Haskell at "ACM Reflections | Projections 2009". He covers strategies, Concurrent Haskell, STM, and Data Parallel Haskell: http://donsbot.wordpress.com/2009/10/17/multicore-haskell-now-acm-reflections-projections-2009/

Loading mentions Retweet
Filed under  //  dph   haskell   multicore   parallelism   stm  
Comments (0)
Posted 5 months ago

Don Stewart's talk on Domain Specific Languages and Haskell

Don argues in favour of domain-specific languages for high-performance computing. Not surprisingly, he suggests that Haskell is well suited as a host for realising such domain-specific languages as embedded languages: http://donsbot.wordpress.com/2009/10/16/lacss-2009-domain-specific-languages-and-haskell/

Loading mentions Retweet
Filed under  //  edsl   haskell   parallelism  
Comments (0)
Posted 5 months ago

Parallelism /= Concurrency

Simon Marlow posted an instructive blog article disentangling the widespread confusion about the relationship between parallelism and concurrency: http://ghcmutterings.wordpress.com/2009/10/06/parallelism-concurrency/

Loading mentions Retweet
Filed under  //  concurrency   parallelism   purity  
Comments (0)
Posted 5 months ago

Implementing Data Parallel Haskell

Here is a video of Roman Leshchinskiy's talk on our work on implementing Data Parallel Haskell (DPH), which he presented at the Haskell Implementors' Workshop (co-located with ICFP'09):

 

Loading mentions Retweet
Filed under  //  dph   haskell   multicore   parallelism  
Comments (0)
Posted 6 months ago

Running Haskell Array Computations on a GPU

Video of my talk at the Haskell Implementors' Workshop: 

The slides are available from a previous post: http://justtesting.posterous.com/haskell-arrays-accelerated-0

Loading mentions Retweet
Filed under  //  edsl   gpgpu   haskell   parallelism  
Comments (0)
Posted 6 months ago

Grand Central Dispatch aka libdispatch is now Open Source

Apple released the source code of one of the core technologies in Snow Leopard: http://libdispatch.macosforge.org/
 
This is an interesting move, as discussed at http://www.macresearch.org/grand-central-now-open-all — it will be very interesting to see whether this will lead to a wider adoption of Grand Central Dispatch beyond Mac OS.

Loading mentions Retweet
Filed under  //  concurrency   mac   parallelism  
Comments (6)
Posted 6 months ago

Haskell Arrays, Accelerated

The slides from my talk Haskell Arrays, Accelerated (Using GPUs) at the Haskell Implementors’ Workshop (that was co-located with ICFP 2009 in Edinburgh) are now available. The talk introduces a novel framework, based on an embedded domain-specific language of multi-dimensional array computations, targeting GPUs and other acceleration hardware.

Haskell Arrays Accelerated with GPUs

Loading mentions Retweet
Filed under  //  edsl   gpgpu   haskell   parallelism  
Comments (0)
Posted 6 months ago

Tim Sweeney's SIGGRAPH 2009 talk.

http://graphics.cs.williams.edu/archive/SweeneyHPG2009/TimHPG2009.pdf

Tim Sweeney shares his vision of the future of high-end computer graphics and games programming.  Functional programming and data parallelism play an important role.

Loading mentions Retweet
Filed under  //  gpgpu   parallelism  
Comments (0)
Posted 7 months ago

Final version of "GPU Kernels as Data-Parallel Array Computations in Haskell".

http://www.cse.unsw.edu.au/~chak/papers/LCGK09.html

This paper will be presented at the Workshop on Exploiting Parallelism using GPUs and other Hardware-Assisted Methods (EPHAM 2009), co-located with CGO’09 in Seattle, WA.

Loading mentions Retweet
Filed under  //  edsl   gpgpu   haskell   parallelism  
Comments (0)
Posted 1 year ago

These graphs summarise the performance of Data Parallel Haskell for three simple benchmarks on two different architectures, both of which have 8 cores. At the top, we have 8 cores with one hardware thread each, in the form of two Quad-Core 3GHz Xeon processors. At the bottom, we have 8 cores with 8 hardware threads each (for a total of 64 hardware threads), in the form of a single 1.4GHz UltraSPARC T2.

The benchmarks are the following: (1) sumsq computes the parallel sum of the squares from 1 to 10 million; (2) dotp computes the dot product of two dense vectors of 100 million double-precision floating-point numbers; and (3) smvm multiplies a sparse matrix with 10 million non-zero double-precision floating-point elements with a dense vector.

The graphs show the speedup of Data Parallel Haskell with respect to a sequential C implementation of each benchmark – whenever, a curve climbs above 1 on the y-axis, the parallel Haskell program beats the sequential C program in absolute runtime.

The scalability of these three programs in Data Parallel Haskell is very good, although dotp is limited by memory bandwidth on the Quad-Core Xeon processors, as discussed in my previous post. The grey curve is a parallel C implementation of dotp that is bandwidth limited in the same manner.

Loading mentions Retweet
Filed under  //  dph   haskell   multicore   parallelism  
Comments (0)
Posted 1 year ago