GPU benchmarks use the CUDA devcontainer. They require an NVIDIA GPU and the NVIDIA Container Toolkit on the host.
Target profile:
export BENCHMARK_TARGET_PROFILE=nvidia-gpuStart the CUDA container:
devcontainer up --workspace-folder . --config .devcontainer/cuda/devcontainer.jsonInstall optional vendor libraries:
devcontainer exec --workspace-folder . --config .devcontainer/cuda/devcontainer.json \
bash -lc './scripts/setup_gpu_vendors.sh all'Run all GPU suites:
devcontainer exec --workspace-folder . --config .devcontainer/cuda/devcontainer.json \
bash -lc 'BENCHMARK_TARGET_PROFILE=nvidia-gpu ./scripts/run_gpu_suite.sh'Run selected backends:
devcontainer exec --workspace-folder . --config .devcontainer/cuda/devcontainer.json \
bash -lc 'BENCHMARK_TARGET_PROFILE=nvidia-gpu GPU_BENCH_BACKENDS=pytorch-cuda ./scripts/run_gpu_suite.sh'Standard GPU collection requires both tenferro-rs and PyTorch. JAX is not part of maintained GPU reports: during the 2026-07-28 A100 80GB permutation run, the JAX/XLA backend failed to complete after more than 20 minutes while using about 61 GiB of device memory, and earlier rank-24 compilation exceeded 40 minutes. Keeping it in every refresh made the full suite operationally unreliable. Vendor backends remain optional references.
Latest reports:
result/nvidia-gpu/gpu/dense.mdresult/nvidia-gpu/gpu/einsum.mdresult/nvidia-gpu/gpu/sparse.mdresult/nvidia-gpu/gpu/tensornetwork.md
Raw run data:
data/results/nvidia-gpu/gpu/<suite>/<timestamp>/run.yamldata/results/nvidia-gpu/gpu/<suite>/<timestamp>/records.jsonldata/results/nvidia-gpu/gpu/<suite>/<timestamp>/report.md
GPU timings must include backend-native device synchronization, but not output downloads. Output downloads belong to verification outside the timed region.