tandem rng tandem-jax GitHub

Tests

pixi run test     # tests/test_tandem.py and tests/test_conformance.py

Suite

tests/test_conformance.py reads tests/conformance, copies of the spec's conformance/*.json at commit 2a4bd08, and checks every item of the spec's conformance/CHECKLIST.md at 2a4bd08, on the native fills and on the XLA path:

tests/test_tandem.py:

On a CUDA device with the extension, the whole suite runs on the kernels, and three more tests check that the kernels equal the XLA path on the CPU device for every fill at odd, unaligned and 2^33-bit starts and over many thread blocks, that a vmap batch equals its rows, and that a GPU lowering calls the kernels.

With the CPU extension, the whole suite runs on the tandem-c fills, and four more tests check that the fills equal the XLA path for every fill at odd and 2^33-bit starts, at chunk lengths 1 and 32 and at sizes that split over the thread pool, that the float32 normals equal tandem-c's pairs bit for bit, that a vmap batch equals its rows, and that a CPU lowering calls the fills and does not without the extension.

Fixtures

CI