# @rapidsai/cuda

> NVIDIA CUDA driver and runtime API bindings

Latest version **22.12.1** (published 2023-06-05) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @rapidsai/cuda
pnpm add @rapidsai/cuda
yarn add @rapidsai/cuda
bun add @rapidsai/cuda
```

## Health

**Score 35/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 22.12.1 |
| Published | 2023-06-05 |
| First published | 2022-08-16 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 598.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | yes |
| GitHub stars | 210 |
| Author | NVIDIA, Inc. |
| Maintainers | rapidsai-owner, raydouglass, jacobtomlinson |

## Links

- npm: https://www.npmjs.com/package/@rapidsai/cuda
- Repository: https://github.com/rapidsai/node
- Homepage: https://github.com/rapidsai/node/tree/main/modules/core#readme
- Issues: https://github.com/rapidsai/node/issues
- npm.io page: https://npm.io/package/@rapidsai/cuda

## Dependencies (1)

- [@rapidsai/core](https://npm.io/package/@rapidsai/core.md) ~22.12.1

## Recent versions

- 22.12.1 (latest) — 2023-06-05
- 22.12.0 — 2023-05-23
- 22.8.2 — 2023-02-28
- 22.8.1 — 2022-09-20
- 22.8.0 — 2022-09-02
- 22.6.2 — 2022-08-17
- 22.6.1 — 2022-08-16
- 22.6.0 — 2022-08-16

## README

### node-cuda (`npm install @rapidsai/cuda`)
    A node native addon that provides bindings to the CUDA driver and runtime APIs.
    These bindings allow calling the CUDA device management, memory, stream, event, ipc, and
    DX/GL interop APIs from JS. These APIs allow node (v8 or chakracore) applications to read,
    write, and share memory via zero-copy CUDA IPC with external processes that also use the
    CUDA, OpenGL, and RAPIDS libraries.

#### Device management:
    cudaChooseDevice, cudaGetDeviceCount, cuDeviceGet, cudaDeviceGetPCIBusId, cudaDeviceGetByPCIBusId, cudaGetDevice, cudaGetDeviceFlags, cudaGetDeviceProperties, cudaSetDevice, cudaSetDeviceFlags, cudaDeviceReset, cudaDeviceSynchronize, cudaDeviceCanAccessPeer, cudaDeviceEnablePeerAccess, cudaDeviceDisablePeerAccess

#### Memory:
- `CUDADevice`: A class to wrap and manage a CUDA device.
- `CUDABuffer`: A class to wrap and manage device memory allocations (similar to ArrayBuffer).
- `CUDAArray`: A class to wrap operations like read/write/share on a `CUDABuffer` (similar to TypedArray).
-     cuPointerGetAttribute, cudaMalloc, cudaFree, cudaMallocHost, cudaFreeHost, cudaHostRegister, cudaHostUnregister, cudaMemcpy, cudaMemset, cudaMemcpyAsync, cudaMemsetAsync, cudaMemGetInfo

#### IPC:
    cudaIpcGetMemHandle, cudaIpcOpenMemHandle, cudaIpcCloseMemHandle

#### Stream:
    cudaStreamCreate, cudaStreamDestroy, cudaStreamSynchronize

#### OpenGL:
    cuGraphicsGLRegisterBuffer, cuGraphicsGLRegisterImage, cuGraphicsUnregisterResource, cuGraphicsMapResources, cuGraphicsUnapResources, cuGraphicsResourceGetMappedPointer

---
_Source: https://npm.io/package/@rapidsai/cuda · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
