The cuda package

The CUDA library provides a direct, general purpose C-like SPMD programming
model for NVIDIA graphics cards (G8x series onwards). This is a collection
of bindings to allow you to call and control, although not write, such
functions from Haskell-land. You will need to install the CUDA driver and
developer toolkit.

The setup script will look for your CUDA installation in the standard
places, and if the nvcc compiler is found in your PATH, relative to that.

This library provides bindings to both the CUDA Driver and Runtime APIs. To
get started, see one of:

Foreign.CUDA.Driver (a short tutorial is available here)

Foreign.CUDA.Runtime

This release tested with versions 6.0, 6.5, 7.0, and 7.5 of the CUDA toolkit.

NOTES:

The setup script for this package requires at least Cabal-1.22. To upgrade,
execute one of:

cabal users: cabal install Cabal --constraint=Cabal >= 1.22

stack users: stack setup --upgrade-cabal

Due to an interaction between GHC-8 and unified virtual address spaces in
CUDA, this package does not currently work with GHCi on ghc-8.0.1 (compiled
programs should work). See the following for more details:

Downloads

Maintainer's Corner

Readme for cuda

Readme for cuda-0.7.5.1

Haskell FFI Bindings to CUDA

The CUDA library provides a direct, general purpose C-like SPMD programming
model for NVIDIA graphics cards (G8x series onwards). This is a collection of
bindings to allow you to call and control, although not write, such functions
from Haskell-land. You will need to install the CUDA driver and developer
toolkit.