Summary
Tensor parallelism (TP) across 2× RTX 3080 makes prefill (prompt processing) dramatically slower than autosplit (layer split) on the same hardware, while consuming less total power.
Environment
|
|
| GPU |
2× NVIDIA RTX 3080 20 GB (Ampere, sm_86), PCIe — no NVLink |
| OS |
Windows 10/11 x64 |
| Python |
3.12 |
| torch |
2.9.0+cu128 |
| exllamav3 |
1.4.2 (prebuilt exllamav3-1.4.2+cu128.torch2.9.0-cp312-cp312-win_amd64.whl) |
| Model |
Qwen3.8-27B EXL3 3.50bpw |
| Host |
tabbyAPI |
Observation
Same ~107k-token prompt:
- Autosplit (
gpu_split_auto: true, tensor_parallel: false): prefill completed in ~3.5 min at ~513 T/s (107,253 tokens). GPU 0 ~300 W, GPU 1 ~70 W (total ~370 W).
- Tensor parallel (
tensor_parallel: true, tensor_parallel_backend: native): prefill was still running after 7+ minutes for the same prompt — I had to abort it. GPU 0 ~150 W, GPU 1 ~150 W (total ~300 W).
Power / utilization
Autosplit drives GPU 0 to ~300 W (GPU 1 ~70 W, ~370 W total) and is faster, while TP spreads the load evenly at ~150 W per GPU (~300 W total) and is much slower. TP uses less total power for less throughput — the signature of inter-GPU communication (PCIe all-reduce, no NVLink on 3080) dominating over compute, so the second GPU isn't adding proportional throughput.
Expected
TP prefill should be comparable to (or faster than) autosplit, not dramatically slower.
Notes
Summary
Tensor parallelism (TP) across 2× RTX 3080 makes prefill (prompt processing) dramatically slower than autosplit (layer split) on the same hardware, while consuming less total power.
Environment
exllamav3-1.4.2+cu128.torch2.9.0-cp312-cp312-win_amd64.whl)Observation
Same ~107k-token prompt:
gpu_split_auto: true,tensor_parallel: false): prefill completed in ~3.5 min at ~513 T/s (107,253 tokens). GPU 0 ~300 W, GPU 1 ~70 W (total ~370 W).tensor_parallel: true,tensor_parallel_backend: native): prefill was still running after 7+ minutes for the same prompt — I had to abort it. GPU 0 ~150 W, GPU 1 ~150 W (total ~300 W).Power / utilization
Autosplit drives GPU 0 to ~300 W (GPU 1 ~70 W, ~370 W total) and is faster, while TP spreads the load evenly at ~150 W per GPU (~300 W total) and is much slower. TP uses less total power for less throughput — the signature of inter-GPU communication (PCIe all-reduce, no NVLink on 3080) dominating over compute, so the second GPU isn't adding proportional throughput.
Expected
TP prefill should be comparable to (or faster than) autosplit, not dramatically slower.
Notes