GPU Programming in Functional Languages: A Comparison of Haskell GPU Embedded Domain Specific Languages

C. Ouwehand, P. Hijma, W.J. Fokkink
Vrije Universiteit, Amsterdam
Vrije Universiteit, 2013


   title={GPU Programming in Functional Languages},

   author={Ouwehand, C and Hijma, P and Fokkink, WJ},



Download Download (PDF)   View View   Source Source   



Graphical Processing Units (GPUs) are known to be excellent computation accelerators. However, their approach to data processing is very different from regular CPUs. This makes it harder for a regular developer to program these devices. In the past few years, several frameworks were introduced to simplify the programming of GPU devices. Accelerate and Obsidian are two of these frameworks, written in Haskell. Both present an Embedded Domain Specific Language (EDSL) to represent GPU computations. They try, at different levels, to abstract GPU details away. In this paper we will assess different aspects of these EDSLs to see how usable they are for programmers. We will assess CUDA as well, to see how these EDSLs compare to plain CUDA. We will investigate a matrix multiplication use case, to see how well Accelerate and Obsidian perform.
Rating: 2.0/5. From 1 vote.
Please wait...

Recent source codes

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: