[Haskell-cafe] (Off-topic) CUDA

Manuel M T Chakravarty chak at cse.unsw.edu.au
Wed Feb 11 20:38:46 EST 2009


Malcolm Wallace:
>>> (Also... Haskell on the GPU. It's been talked about for years, but  
>>> will
>>> it ever actually happen?)
>>
>> gpu is just set of simd-like instructions. so the reason why you will
>> never see haskell on gpu is the same as why you will never see it
>> implemented via simd instructions :D
>
> Because SIMD/GPU deals only with numbers, not pointers, you will not  
> see much _symbolic_ computation being offloaded to these arithmetic  
> units.  But there are still great opportunities to improve Haskell's  
> speed at numerics using them.  And some symbolic problems can be  
> encoded using integers.
>
> There are at least two current (but incomplete) projects in this  
> area: Sean Lee at UNSW has targetted Data Parallel Haskell for an  
> Nvidia GPGPU, and Joel Svensson at Chalmers is developing a Haskell- 
> embedded language for GPU programming called Obsidian.

We have a paper about the UNSW project now.  It is rather high-level,  
but has some performance figures of preliminary benchmarks:

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

BTW, this is currently independent of Data Parallel Haskell.  It is a  
flat data-parallel array language embedded in Haskell.  The language  
is restricted in a manner that we can generate GPU code (CUDA to be  
precise) from it.  In the longer run, we want to turn this into a  
backend of Data Parallel Haskell, but that will require quite a bit  
more work.

Manuel



More information about the Haskell-Cafe mailing list