Obsidian: GPU Programming in Haskell

Koen Claessen, Mary Sheeran, Joel Svensson
Department of Computer Science and Engineering, Chalmers University Of Technology
DCC 2008


   title={Obsidian: GPU Kernel Programming in Haskell},

   author={Claessen, Koen and Sheeran, Mary and Svensson, Joel},



Download Download (PDF)   View View   Source Source   Source codes Source codes




Obsidian is a language for data-parallel programming embedded in Haskell. As the Obsidian programs are run, C code is generated. This C code can be compiled for an NVIDIA 8800 series GPU (Graphics Processing Unit), or for other high-end NVIDIA GPUs. The idea is that the style of programming used in Lava for structural hardware design [2] can be applied to data-parallel programming as well. Therefore Obsidian programmers use combinators that have much in common with those used in Lava. However, where Lava generates the netlist for a fixed-size circuit, Obsidian can generate GPU programs that are parametric in input size.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: