/hopencl

OpenCL library for Haskell

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

hopencl

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

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

Examples

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

Documentation

Haddock documentation is available at http://projects.haskell.org/hopencl/

Tests

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 dybber@dybber.dk with any questions or bug reports.

Alternatively, bugs can be submitted through the bug tracker at: http://github.com/HIPERFIT/hopencl/issues