Obsidian: GPU Programming in Haskell
Department of Computer Science and Engineering, Chalmers University Of Technology
DCC 2008
@article{claessen2008obsidian,
title={Obsidian: GPU Kernel Programming in Haskell},
author={Claessen, Koen and Sheeran, Mary and Svensson, Joel},
year={2008}
}
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.
March 13, 2011 by hgpu