Skip to content
Haskell high-level wrapper for OpenCL
Pull request Compare This branch is 17 commits behind IFCA:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A high-level OpenCL library for Haskell.

Based on the OpenCLRaw package by J.R. Heard.

By Luis Cabellos at IFCA


Requirements: c2hs must be installed. (Try cabal install c2hs.)

With the usual commands to install as a user library:

cabal install --user

Programs using the library must link against OpenCL; for example, by passing -lOpenCL to GHC.

About versioning

OpenCL module uses Package Version Policy:

But It differs in the A version number. It use OpenCL API version as A number, so correspond to A=1.0=OpenCL API version 1.0, B=3 and C=0. The major version number is 1.0.3

Optional Requisites

Some OpenCL libraries require additional NUMA libraries. For instance, on Ubuntu 11.04:

sudo apt-get install libnuma1 libnuma-dev


There is an simple working example in the examples folder. You can create an executable using:

ghc --make examples/example01.hs

Using ghci

It’s possible to use GHCi with OpenCL, e.g.:

ghci examples/example01.hs
Something went wrong with that request. Please try again.