Haskell high-level wrapper for OpenCL
Haskell C C++
Latest commit 80d0cb9 Aug 10, 2016 @zhensydow zhensydow committed on GitHub Merge pull request #48 from msakai/pr-osx-nullable
Fix compilation failure on OS X El Capitan



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