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 4 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 4 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 5 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 5 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 11 months 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