Haskell bindings for OpenCL https://github.com/merijn/hopencl
|Latest on Hackage:||0.2.1|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
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 http://projects.haskell.org/hopencl/
To compile the test suite, the flag
--enable-tests must be given to
cabal. The tests can then be executed using
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: http://github.com/merijn/hopencl/issues