Skip to content

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:

GPUsettingpos/s
RTX 4070 Ti256×4, torch.compile6,818
A100-SXM4-80GB4096×1, torch.compile21,396
RTX 5060256×4, torch.compile3,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:

batchRTX 4070 Ti pos/sA100 pos/s
1~917~325
327,8127,169
1289,72815,572
2569,46419,141
5128,51119,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.