NCCL P2P Disabled
NCCL P2P (peer-to-peer) communication can be disabled, forcing fallback to slower transport.
NCCL P2P (peer-to-peer) communication can be disabled, forcing fallback to slower transport.
What this failure is
NCCL P2P Disabled is a Communication failure seen during ML training runs. NCCL P2P (peer-to-peer) communication can be disabled, forcing fallback to slower transport. Common tags: Nccl, P2p, Intra Node, Bandwidth.
Is this what broke your run? Paste your log.
You're reading about NCCL P2P Disabled. Paste your own crash log or traceback below and get the real root cause for YOUR run, not this generic entry. No account, no card. Logs are masked at ingress and never saved to account history.
Want 14 days on the Scale plan?
Request a work-email trial for up to 50 diagnoses a day, alerts, history, and follow-up questions. No credit card or automatic subscription.
Why it happens (the mechanism)
P2P disabled by environment variable. GPU pair doesn't support P2P. PCIe topology doesn't allow P2P. Driver issue with P2P. Taken together, these mechanisms explain why the failure is reproducible, why it tends to surface on specific workloads or scales, and why generic mitigation attempts often fall short without addressing the underlying cause.
What you'll observe
- Intra-node communication is slow
- NCCL falls back to shared memory or PCIe
- Training performance is poor on multi-GPU nodes
Common symptoms and what they mean
| Symptom | Why it happens |
|---|---|
| NCCL P2P is disabled | P2P disabled by environment variable |
| NCCL using shared memory for intra-node | GPU pair doesn't support P2P |
| GPU-to-GPU transfer is slow | PCIe topology doesn't allow P2P |
Which systems are affected
- Multi-GPU nodes
- DGX systems
- Nodes with GPUs across PCIe switches
How to confirm this is the problem
Use this checklist to test the hypothesis against a small reproduction. No single line proves the root cause, so preserve the preceding events and compare one variable at a time.
- ✓Reproduce the failure from a clean checkpoint/seed: the symptom must appear without warm-up state from a previous run.
- ✓Verified signal present: NCCL P2P is disabled
- ✓Verified signal present: NCCL using shared memory for intra-node
- ✓Verified signal present: GPU-to-GPU transfer is slow
- ✓A targeted fix from the "How to fix it" section eliminates or substantially reduces the symptom within one validation pass.
The fix and the prevention pattern
The root cause is on this page and stays free. A free account adds the exact remediation steps, keeps your diagnoses instead of discarding them, and unlocks the fix on every entry in the encyclopedia.
Sign up free. Unlock the full analysisNo credit card · 3 free diagnoses · Instant access
Diagnose this failure in VS Code
Select the traceback or open the failed terminal, then run Denpex locally to see the initiating rank, collateral failures, exact fix, and verification command without uploading the log.
Install the free VS Code extensionNCCL errors in context
NCCL is where a distributed job reports failure, which is not the same as where it failed. The hub lists every common NCCL error next to what it actually indicates, and the environment variables that tell them apart.
Compare every nccl error side by sideRelated failures to investigate next
Root cause
- P2P disabled by environment variable
- GPU pair doesn't support P2P
- PCIe topology doesn't allow P2P
- Driver issue with P2P
The fix and how to prevent it
Unlock the full remediation runbook
14 days on the Scale plan, up to 50 diagnoses a day. Step-by-step remediation, the RMA evidence payload, and multi-node correlation on your own logs. No card, and it does not roll into a subscription.
Don't just read the fix, diagnose your run
The encyclopedia tells you what went wrong. Denpex tells you what went wrong in YOUR training run. With your logs, your config, and your stack.