IFCA-Advanced-Computing/opencl

Haskell high-level wrapper for OpenCL

Haskell

70

203 commits

updated Oct 4, 2021

See the code

README

#+STARTUP: showall
* OpenCL
  A high-level OpenCL library for Haskell.

  Based on the [[http://hackage.haskell.org/package/OpenCLRaw][OpenCLRaw]] package by J.R. Heard.

  By Luis Cabellos at [[http://www.ifca.es/en/home2][IFCA]]

** Installation
   *Requirements:* [[http://hackage.haskell.org/package/c2hs][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:

    http://www.haskell.org/haskellwiki/Package_versioning_policy

    But It differs in the A version number. It use OpenCL API version as A
    number, so 1.0.3.0 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

** Example
   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

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

zhensydow

178 commits

ehird

8 commits

fegu

6 commits

acowley

3 commits

IFCA-Advanced-Computing/opencl

Haskell high-level wrapper for OpenCL

Haskell

70

203 commits

updated Oct 4, 2021

See the code

README

#+STARTUP: showall
* OpenCL
  A high-level OpenCL library for Haskell.

  Based on the [[http://hackage.haskell.org/package/OpenCLRaw][OpenCLRaw]] package by J.R. Heard.

  By Luis Cabellos at [[http://www.ifca.es/en/home2][IFCA]]

** Installation
   *Requirements:* [[http://hackage.haskell.org/package/c2hs][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:

    http://www.haskell.org/haskellwiki/Package_versioning_policy

    But It differs in the A version number. It use OpenCL API version as A
    number, so 1.0.3.0 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

** Example
   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

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

zhensydow

178 commits

ehird

8 commits

fegu

6 commits

acowley

3 commits

Languages

Haskell

49.0%

C

26.7%

C++

24.2%