cuda: 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:
The
CUDA_PATH
environment variableSearching for
nvcc
on thePATH
Checking at
/usr/local/cuda
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)
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.
[Skip to Readme]
Modules
[Index] [Quick Jump]
- Foreign
- C
- Foreign.CUDA
- Foreign.CUDA.Analysis
- Foreign.CUDA.Driver
- Foreign.CUDA.Path
- Foreign.CUDA.Ptr
- Foreign.CUDA.Runtime
Downloads
- cuda-0.12.8.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1, 0.2, 0.2.1, 0.2.2, 0.3.2, 0.3.2.1, 0.3.2.2, 0.4.0.0, 0.4.0.1, 0.4.0.2, 0.4.1.0, 0.4.1.1, 0.5.0.0, 0.5.0.1, 0.5.0.2, 0.5.1.0, 0.5.1.1, 0.6.0.0, 0.6.0.1, 0.6.5.0, 0.6.5.1, 0.6.6.0, 0.6.6.1, 0.6.6.2, 0.6.7.0, 0.7.0.0, 0.7.5.0, 0.7.5.1, 0.7.5.2, 0.7.5.3, 0.8.0.0, 0.8.0.1, 0.9.0.0, 0.9.0.1, 0.9.0.2, 0.9.0.3, 0.10.0.0, 0.10.1.0, 0.10.2.0, 0.11.0.0, 0.11.0.1, 0.12.8.0 (info) |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.7 && <5), bytestring (>=0.10.4), containers, cuda, filepath (>=1.0), pretty, template-haskell, uuid-types (>=1.0) [details] |
Tested with | ghc >=8.0 |
License | BSD-3-Clause |
Copyright | Copyright (c) [2009..2023]. Trevor L. McDonell <trevor.mcdonell@gmail.com> |
Author | Trevor L. McDonell <trevor.mcdonell@gmail.com> |
Maintainer | Trevor L. McDonell <trevor.mcdonell@gmail.com> |
Category | Foreign |
Home page | https://github.com/tmcdonell/cuda |
Bug tracker | https://github.com/tmcdonell/cuda/issues |
Source repo | head: git clone https://github.com/tmcdonell/cuda this: git clone https://github.com/tmcdonell/cuda(tag v0.12.8.0) |
Uploaded | by tomsmeding at 2025-08-21T11:01:07Z |
Distributions | |
Reverse Dependencies | 16 direct, 47 indirect [details] |
Executables | nvidia-device-query |
Downloads | 38008 total (67 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |