GPGPU Kernel Implementation using an Embedded Language: a Status Report
Joel Svensson, Koen Claessen, Mary Sheeran · Chalmers Publication Library (Chalmers University of Technology) · 2010
Obsidian is a domain specific language for general purpose computations on graphics processing units (GPUs) embedded Haskell. This report present examples of GPU kernels written in Obsidian as well as parts of the current implementation of Obsidian. The goal with Obsidian is to raise the level of abstraction for the programmer while not scarifying performance. The kind of decisions and tradeoffs considered by a GPU kernel implementer should be easy to make and change in Obsidian.