Skip to content
OpenCL library for Haskell
C Haskell C++
Fetching latest commit…
Cannot retrieve the latest commit at this time.


The present repository contains the latest snapshot of a set of Haskell bindings to version 1.1 of the OpenCL specification.

The following sections of the OpenCL specification are not supported currently:

  • Image Objects (section 5.3)
  • Sampler Objects (section 5.5)
  • Profiling of memory objects and kernels (section 5.12)
  • Extensions of the OpenCL standard involving the API
  • OpenGL and D3D related functions

In addition, the are not currently any Haskell wrappers for the following functions:

clCreateSubBuffer, clEnqueueReadBufferRect, clEnqueueWriteBufferRect, clEnqueueCopyBufferRect, clEnqueueMapBuffer, clEnqueueUnmapMemObject, clEnqueueNativeKernel


Installation is handled by cabal, but the tool c2hs is needed for compilation and should be installed prior to hopencl.

cabal install c2hs
cabal install


In examples-directory two simple examples of how the hopencl package can be used are shown. They can be executed using runhaskell

cd examples/PlatformInfo/
runhaskell PlatformInfo.hs
cd examples/VectorAdd/
runhaskell VectorAdd.hs


Haddock documentation is available at


To compile the test suite, the flag --enable-tests must be given to cabal. The tests can then be executed using cabal test.

cabal install --enable-tests
cabal test

Questions and bug reports

Feel free to contact me by email at with any questions or bug reports.

Alternatively, bugs can be submitted through the bug tracker at:

Something went wrong with that request. Please try again.