GPU Kernels as Data-Parallel Array Computations in Haskell

Sean Lee, Manuel M. T. Chakravarty, Vinod Grover, and Gabriele Keller.

In Workshop on Exploiting Parallelism using GPUs and other Hardware-Assisted Methods (EPAHM 2009), 2009.

We present a novel high-level parallel programming model for graphics processing units (GPUs). We embed GPU kernels as data-parallel array computations in the purely functional language Haskell. GPU and CPU computations can be freely interleaved with the type system tracking the two different modes of computation. The embedded language of array computations is sufficiently limited that our system can automatically isolate and extract these computations and compile them to efficient GPU code. In this paper, we outline our approach and present the results of a few preliminary benchmarks.

PDF (9 pages)

This page is part of Manuel Chakravarty's WWW-stuff.