@hackage cuda0.12.8.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-12.8. See also the travis-ci.org build matrix for version compatibility.

NOTES:

For additional notes on installing on Windows, see:

This library is currently in maintenance mode. While we plan to release updates to keep the existing interface working with newer CUDA versions (as long as the underlying APIs remain available), no binding of new features is planned at the moment. Get in touch if you want to contribute.