skip to content
[readonly]

A simulated CUDA device behind the cuda-driver table: modules, globals, streams and launches whose kernels run as C functions on CPU threads, for testing without a GPU

sh
$ sexc add @ajax/cuda-driver-fake
  • total 3
  • drwxr-xr-x-../
  • drwxr-xr-x-Oct 27 02:56v/# 1 version
  • drwxr-xr-x-Oct 27 02:56files/# the files of 0.1.0
latest
0.1.0, published Oct 27 02:56 by ajax
owners
ajax
license
MIT
dependencies
@ajax/cuda-driver ^0.1.0, @ajax/mesh-text ^0.1.0, @ajax/mesh-check ^0.1.0
dependents
@ajax/mesh-cuda, @ajax/mesh-inproc, @ajax/mesh-mps
keywords
mesh alphaos cuda fake testing gpu
homepage
https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/cuda-driver-fake
repository
https://github.com/thomasdavis/alpha-c-mesh
==> README.md <==
1# @ajax/cuda-driver-fake
2
3A simulated CUDA device behind @ajax/cuda-driver's table: device attributes, primary and green contexts, "cubins" (a line of text naming the entry, registers, local bytes, thread limit and `MESH_RT_ABI`), globals, opt-in shared memory, scratch memory, streams, and launches whose kernels are C functions run on a thread of their own while the stream reads busy. Device memory is host memory, so a fake kernel can play a program's node loop against the real mailbox. Failure injection (`mesh_fake_cuda_fail_next`) and counters of everything it saw.
4
5Not a port: it exists so the CUDA, MPS and in-process backends are tested without a GPU.
6
7## Ported from
8
9[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) (Richard Safier, MIT): nothing (test support).
10
11## Tests
12
13Exercised by @ajax/mesh-cuda's, @ajax/mesh-mps's and @ajax/mesh-inproc's tests.
14
15## Licence
16
17MIT. See the repository's LICENSE.