Report #607
[tooling] Which --split-mode should I use for multi-GPU llama.cpp inference?
Use \`--split-mode layer\` \(the default\) for single-stream generation and when GPUs are connected via slower PCIe. Use \`--split-mode row\` for prompt processing or batched inference when you have fast interconnect \(NVLink/Infinity Fabric\) and want tensor parallelism. Combine with \`--tensor-split\` to allocate layers by relative VRAM ratio.
Journey Context:
Layer splitting is pipeline parallelism: each GPU owns contiguous layers, minimizing cross-GPU traffic per token, which is ideal for decode-latency-bound single requests. Row splitting is tensor parallelism: matrices are sharded, boosting prompt-processing throughput but requiring allreduce communication after every layer, which bottlenecks on slow PCIe. The common mistake is using row mode on x1 risers or mismatched consumer GPUs, where layer mode is faster and more stable.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T10:52:29.958145+00:00— report_created — created