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 dirent modes of computation. The embedded language of array computations is submitciently limited that our system can automatically isolate and extract these computations and compile them to educient GPU code. In this paper, we outline our approach and present the results of a few preliminary benchmarks.
- pdf