cuda: FFI binding to the CUDA driver 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_PATHenvironment variableSearching for
nvccon thePATHChecking at
/usr/local/cudaEnvironment variables of the form
CUDA_PATH_Vx_y(deprecated)
This library provides bindings to the CUDA Driver API, not the Runtime API. To get started, see Foreign.CUDA.Driver; a short tutorial is available there.
Tested with library versions up to and including CUDA-13.0.
- NOTES:
For additional notes on installing on Windows, see:
This library is currently in maintenance mode. While we are happy 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
- CUDA
- Foreign.CUDA.Analysis
- Foreign.CUDA.Driver
- Internal
- Foreign.CUDA.Path
- Foreign.CUDA.Ptr
Downloads
- cuda-0.13.0.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, 0.13.0.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>, Tom Smeding <tom@tomsmeding.com> |
| Uploaded | by tomsmeding at 2026-03-30T10:00:24Z |
| 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.13.0.0) |
| Reverse Dependencies | 16 direct, 47 indirect [details] |
| Executables | nvidia-device-query |
| Downloads | 38833 total (191 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] |