Skip to content
This repository

OpenCL library for Haskell

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 Foreign
Octocat-spinner-32 examples
Octocat-spinner-32 include
Octocat-spinner-32 tests
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 Setup.hs
Octocat-spinner-32 hopencl.cabal
README.md

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

Something went wrong with that request. Please try again.