logoiMonad.com


Open standard for parallel computing across GPUs and CPUs

Posted in GPU by zoo on the July 5th, 2008

There is new initiative to create open standarts for parallel computing across GPUs and CPUs. I think this will be the next step in GPU computing. As I underspend this will be new open standard (something like OpenGL) that will be portable across different platforms. The name of the new standard is Open Computing Language (OpenCL):

Khronos™ Group announced today the formation of a new Compute Working Group to create royalty-free, open standards for programming heterogeneous data and task parallel computing across GPUs and CPUs…”

It is targeted at C language but I do not think there will be any obstacles to use it from other languages too.

More on the Khronos Web Page

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