Lightweight 'CUDA' Numerical Computing
Overview
Provides a lightweight interface to graphics processing unit (GPU)-accelerated numerical computing using 'CUDA'. Dense tensors, sparse matrices, decompositions, distances, exact nearest neighbours, clustering, graph workflows, and embeddings share one consistent interface. The native backend discovers the 'NVIDIA CUDA Driver API', 'cuBLAS', and 'cuSOLVER' libraries at runtime without bundling 'LibTorch' or the 'CUDA Runtime'. Stage-level provenance records the backend, device, and data transfers used by each result. A portable implementation supports package validation on systems without 'CUDA'. Background for the included Leiden community detection and uniform manifold approximation and projection methods is given by Traag, Waltman and van Eck (2019) doi:10.1038/s41598-019-41695-z and McInnes et al. (2018) doi:10.21105/joss.00861, respectively.
- Native Euclidean distances use a dimension-aware cancellation check and direct coordinate differences for close pairs, preserving small distances in distance matrices and k-nearest-neighbour results.
- Added an explicit
precision = "tf32"option to native float32tensor_matmul(). It permits cuBLAS TensorFloat-32 computation on supported GPUs, records the policy in provenance and leaves standard dtype arithmetic and%*%unchanged. Unsupported requests fail without changing later calls. - Standard float32 matmul benchmarks use a documented componentwise rounding model with conditioning, underflow and overflow checks. Reports retain the former strict tolerance and its failed-entry count as diagnostics.
- Native PCA computes scores by projecting the centered/scaled input onto its fitted loadings. Identical observations keep identical scores and exact zero-distance neighbour ties, while the scores remain on the device.
Show all changes in 0.4.2Hide the rest of the changes in 0.4.2
- Benchmark validation now applies numerical limits element by element, rejects malformed GPU activity reports, and checks the explicitly declared backends so that a native CUDA comparison does not require torch.
- Retained benchmark timings check for competing GPU processes before and after individual samples, outside the measured interval.
From NEWS.md in the release
Install
Health
- OK13 OKNow
- OK6 OK2026-09-11
Documentation
- Help pages
- 44 (1 internal)includes a package overview page
- Examples that run
- 100%40 run in a plain check (2 of them under a condition)
- Exported functions with examples
- 100%
- Documented parameters
- 95%
- Return-value docs
- 100%
- Help pages citing references
- 0%
Downloads
Repository
- PRs merged (all time)
- 100%
- Median days to close, 50 most recently updated closed issues
- not measured
- Median days to close, 50 most recently updated closed PRs
- 0
Stars over time
Releases over time
PRs over time
Commits over time
10 development-tooling and community-health practices detected across 5 families in the upstream repository
Checks run against github.com/cudaverse/cudaverse on 2026-10-11.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2026-09-26 · The repository has a site deploy workflow
pkgdown site last built 2026-09-26, before release 0.4.2 (2026-10-17)
Show all practicesHide 1 practice
Dependencies
Installing cudaverse adds no packages beyond those that come with R.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 0.4.2Latest
- 0.4.12026-09-10
- RR 4.6.0 released · 2026-04-24
Package metadata
- First published
- 2026-09-10
- Total releases
- 2 / 1 yrs
- License
- MIT + file LICENSE OSI
- Download size
- 348 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("cudaverse")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-19, which the citation names so these numbers can be found later. More on citing and the projects behind them.