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
| GPU | driver | compute cap | CPU |
|---|---|---|---|
| RTX 4070 Ti 12 GB | 595.84 | 8.9 | Core Ultra 7 265KF |
| A100-SXM4-80GB | 580.126.09 | 8.0 | EPYC 7742 |
| RTX 5060 | 595.84 | 12.0 | Core 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
| workload | RTX 4070 Ti | A100 | RTX 5060 |
|---|---|---|---|
| DLManaka training | 6,818 pos/s, 256×4, compile | 21,396, 4096×1, compile | 3,854, 256×4, compile |
| DLManaka inference | 9,728 pos/s, batch 128 | 19,602, batch 512 | unavailable |
| Manaka training | 104,579 pos/s, batch 4096 | 117,059, batch 2048 | 58,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:
| CPU | sims/s | nps | evals/s |
|---|---|---|---|
| Core Ultra 7 265KF P-core | 22,329 | 22,334 | 29,608 |
| Core i5-14400 | 16,411 | 16,414 | 23,736 |
| EPYC 7742 | 4,411 | 4,412 | 11,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.
| evaluator | throughput | hardware |
|---|---|---|
| Manaka, cold accumulator rebuild | 19,389 pos/s | one 265KF core |
| Manaka, warm incremental update | 28,550 pos/s | one 265KF core |
| DLManaka batch 1 | 917 pos/s | one RTX 4070 Ti |
| DLManaka best on 4070 Ti | 9,728 pos/s | one RTX 4070 Ti, batch 128 |
| DLManaka best on A100 | 19,602 pos/s | one 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.compilematters 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
- Compare figures only when the source commit, workload, and procedure match.
- Verify CUDA execution explicitly; ONNX Runtime can silently fall back to CPU.
- Measure co-tenancy from the host, not from inside a container.
- Do not smooth non-monotonic batch curves or promote one-run differences of a few percent to conclusions.
- For current absolute speed, use this page rather than historical design notes.