Skip to content

node-3d/cuda

Repository files navigation

@node-3d/cuda

This is a part of Node3D project.

NPM Lint Test Cpplint

CUDA bindings for Node.js.

npm install @node-3d/cuda

This package exposes the CUDA driver API pieces used by Node3D examples:

Prebuilt addon binaries: Windows x64/ARM64, Linux x64/ARM64. Standard Windows x64 and Linux builds target CUDA 12.9. Windows ARM64 builds target CUDA 13.4 because NVIDIA introduced Windows ARM64 target support there. CUDA toolkit/runtime and an NVIDIA driver are still required on the host system.

  • Device, Ctx, Modulex, Function, and Mem native wrappers.
  • Memory helpers such as memAlloc, memAllocPitch, and memVBO.
  • Module loading and runtime compilation helpers.
  • launch and prepareArguments for typed kernel argument setup.
  • Selected Thrust helpers used by compute-heavy examples.
import { Ctx, Device, getDeviceCount, memAlloc } from '@node-3d/cuda';

console.log('CUDA devices:', getDeviceCount());

const device = new Device(0);
const context = new Ctx(0, device);
const memory = memAlloc(1024);

memory.free();
context.destroy();

See examples/basic.ts, examples/memory-copy.ts, and examples/vector-add.ts for complete runnable examples. CUDA toolkit/runtime availability is still required on the host system.

Binary Origin

Release archives are built by this repository's public GitHub Actions workflows.

Attestations: https://github.com/node-3d/cuda/attestations

To verify a downloaded archive:

gh release download <tag> -R node-3d/cuda -p <platform>.gz
gh attestation verify <platform>.gz -R node-3d/cuda

Releases

Packages

Contributors

Languages