logoiMonad.com


GPU programming in Haskell

Posted in GPU, Haskell, functional programming by zoo on the June 25th, 2008

Recently I become interested in GPU programming particularly technology developed by NVidia - CUDA. There is a lot of interesting examples provided with the SDK and a lot of demonstration links on the site. I have no vision if this will become mainstream in the future or other type of multi core technology, but I like the idea of cheap data parallel programming on video card. I have written some simple Monte Carlo programs to have a taste and my opinion is that I will use this technology only if there is compiler support from high level languages, especially functional ones. There is one project at Chalmers University (mentioned on the #haskell channel) that aims to provide backend for Haskell compiler. Programs are written in Haskell and executed on GPU-s.

Chalmers University:

PDF slides of presentation: “Obsidian: GPU programming in Haskell

Authors pages:

http://www.cs.chalmers.se/~koen/

http://www.cs.chalmers.se/~ms/

Other thechnology that I am studing right now is Data Parallel Haskell. It is in process of development and gives great promises for parallel programming in Haskell and utilization of nested data parallelism. This will make possible to write programs that will scale well on massively parallel architectures composed of thousands and even hundred thousands computing cores.

And finally here is a short movie I found describing the usage of GPU “supercomputer” for tomographical reconstructions (7:30min). This shows the real value of such “exotic” computational technologies:


YouTube direct link video

Leave a Reply