Skip to content

Benchmarks

Current cross-machine speed measurements for DLManaka and Manaka. This is the canonical source for current speed figures; older numbers in design or experiment notes are historical and should not be used for performance comparisons.

Measured at 360398d. Per-engine details are in DLManaka benchmarks and Manaka benchmarks.

Measurement environment

GPUdrivercompute capCPU
RTX 4070 Ti 12 GB595.848.9Core Ultra 7 265KF
A100-SXM4-80GB580.126.098.0EPYC 7742
RTX 5060595.8412.0Core i5-14400

GPU runs were accepted only when host-side nvidia-smi showed no co-tenant process before and after the measurement. The A100 host was shared, so narrow-batch A100 results are noisier than the others.

Best measured settings

GPU workloads

workloadRTX 4070 TiA100RTX 5060
DLManaka training6,818 pos/s, 256×4, compile21,396, 4096×1, compile3,854, 256×4, compile
DLManaka inference9,728 pos/s, batch 12819,602, batch 512unavailable
Manaka training104,579 pos/s, batch 4096117,059, batch 204858,080, batch 2048

torch.compile improved DLManaka training in every measured condition. The best batch width is device- and workload-specific; do not reuse one machine's setting blindly.

DLManaka inference does not currently run on the RTX 5060 because the prebuilt ONNX Runtime used by ort has no sm_120 kernel image. PyTorch training works on the same card because its wheel ships different CUDA machine code.

Manaka CPU inference

search_speed, default d128_o3_h512_pair16, 5,000 simulations, one core:

CPUsims/snpsevals/s
Core Ultra 7 265KF P-core22,32922,33429,608
Core i5-1440016,41116,41423,736
EPYC 77424,4114,41211,006

The EPYC result was taken on a busy shared host and is not a clean chip-to-chip comparison.

On the 265KF, production-style parallel search scales best with threads sharing one parameter table: 371,498 sims/s at 20 threads. Twenty independent processes reached 246,556 sims/s. manaka-selfplay already uses the shared-table design.

Comparable inference throughput

Raw evals/s and DLManaka pos/s are not directly comparable. eval_throughput therefore evaluates different Manaka positions once each, matching the DLManaka benchmark procedure.

evaluatorthroughputhardware
Manaka, cold accumulator rebuild19,389 pos/sone 265KF core
Manaka, warm incremental update28,550 pos/sone 265KF core
DLManaka batch 1917 pos/sone RTX 4070 Ti
DLManaka best on 4070 Ti9,728 pos/sone RTX 4070 Ti, batch 128
DLManaka best on A10019,602 pos/sone A100, batch 512

For a structural comparison, use Manaka cold versus DLManaka: an ONNX residual network cannot retain Manaka-style incremental state between nodes. Under that comparison, one A100 roughly matches one 265KF core in raw position throughput. This says nothing about playing strength.

Training observations

  • DLManaka: small batches underfill the A100. torch.compile matters much more there than on the 4070 Ti.
  • Manaka: A100 gives only a modest improvement over the 4070 Ti even after tuning batch width; this workload does not scale like the residual CNN.
  • GPU utilization alone is not a saturation test. A reported 99% busy can still leave meaningful optimization headroom.
  • Use medians and discard contaminated runs. A single timing is not enough for a ratio.

Measurement rules

  1. Compare figures only when the source commit, workload, and procedure match.
  2. Verify CUDA execution explicitly; ONNX Runtime can silently fall back to CPU.
  3. Measure co-tenancy from the host, not from inside a container.
  4. Do not smooth non-monotonic batch curves or promote one-run differences of a few percent to conclusions.
  5. For current absolute speed, use this page rather than historical design notes.