DLManaka benchmarks
Current cross-machine figures are maintained in the common benchmark. This page keeps DLManaka-specific interpretation and commands.
Current measurements
Measured at 360398d with the 15-block × 256-channel network.
Training
Best measured settings:
| GPU | setting | pos/s |
|---|---|---|
| RTX 4070 Ti | 256×4, torch.compile | 6,818 |
| A100-SXM4-80GB | 4096×1, torch.compile | 21,396 |
| RTX 5060 | 256×4, torch.compile | 3,854 |
The A100 needs much wider batches than the 4070 Ti to fill the device. torch.compile helped every measured condition, but the gain varied substantially by GPU.
Wider is not universally better: the 4070 Ti and 5060 peak at the narrow production batch, while the A100 benefits from width because small steps leave most of its SMs idle.
Inference
ONNX Runtime CUDA, different positions evaluated once each:
| batch | RTX 4070 Ti pos/s | A100 pos/s |
|---|---|---|
| 1 | ~917 | ~325 |
| 32 | 7,812 | 7,169 |
| 128 | 9,728 | 15,572 |
| 256 | 9,464 | 19,141 |
| 512 | 8,511 | 19,602 |
The 4070 Ti peaks around batch 128. The A100 needs much more width and is effectively flat by 256–512.
RTX 5060 inference is currently unavailable through the prebuilt ONNX Runtime because it lacks an sm_120 kernel image. This is a library-support issue, not evidence that the network cannot run on that GPU in principle.
Search and batching
Search batching is not the same as feeding an independent inference benchmark. Multiple descents can reach the same queued leaf, so increasing batch width may reduce distinct nodes or principal-variation depth even when raw network throughput rises.
Therefore:
- tune batch width together with the simulation budget;
- compare nodes and search quality, not only simulations per second;
- verify that batch 1 reproduces the sequential path when changing the batched-search implementation.
The decisive historical observation was that increasing search depth produced far more Elo than the first self-play data changes. That record is in the plateau analysis.
Running measurements
Training uses the normal trainer configs; inference/search examples live in dl-manaka-core. For current benchmark procedures and device settings, follow the common benchmark.
Measurement rules
- Confirm the CUDA execution provider actually started; ONNX Runtime may fall back to CPU.
- Check GPU co-tenancy from the host before and after the run.
- Use multiple runs for narrow A100 batches, which were substantially noisier on the shared host.
- Keep historical implementation-speed stories out of current performance tables; this page and the common benchmark supersede older absolute values elsewhere in the docs.