GPU programming in Haskell
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”
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:
