@hackage cuda0.10.2.0

FFI binding to the CUDA interface for programming NVIDIA GPUs

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.

http://developer.nvidia.com/cuda-downloads

The setup script will look for your CUDA installation by checking, in the following order:

  1. The CUDA_PATH environment variable

  2. Searching for nvcc on the PATH

  3. Checking at /usr/local/cuda

  4. CUDA_PATH_Vx_y environment variable, for recent CUDA toolkit versions x.y

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

Tested with library versions up to CUDA-10.2. See also the travis-ci.org build matrix for version compatibility.

NOTES:

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

  • cabal users: cabal install Cabal --constraint="Cabal >= 1.24"

  • 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:

The bug should be fixed in ghc-8.0.2 and beyond.

For additional notes on installing on Windows, see: