{
  "format": "agent-article-v0",
  "article_id": "EA-749",
  "canonical_url": "/tools/ea-749-nccl-rdma-fabric-failure",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EVD-EA-749-URL-FFF3B3BBB6F0",
    "EVD-EA-749-URL-045F80529C89",
    "EVD-EA-749-URL-29D01659A58E",
    "EVD-EA-749-URL-D56263F64718",
    "EVD-EA-749-URL-9D7E75E24ECD",
    "EVD-EA-749-URL-64C290BB7C2D",
    "EA-749-CURRENT-APPROVAL",
    "EA-749-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-749-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-20",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "EA749-CANDIDATE-20261020-1105JST-C1",
    "SRC-EA-749-URL-FFF3B3BBB6F0",
    "SRC-EA-749-URL-045F80529C89",
    "SRC-EA-749-URL-29D01659A58E",
    "SRC-EA-749-URL-D56263F64718",
    "SRC-EA-749-URL-9D7E75E24ECD",
    "SRC-EA-749-URL-64C290BB7C2D",
    "BODY-SHA256:0f272d78f4cd6095e3dbec161c61a355e93046d3f66350348d887500a8dbd277"
  ],
  "article_sources": [
    {
      "id": "EVD-EA-749-URL-FFF3B3BBB6F0",
      "evidence_class": "RESEARCH",
      "title": "NVIDIA NCCL 2.32.3, Troubleshooting:",
      "href": "https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting.html",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-749-URL-FFF3B3BBB6F0"
      ],
      "supporting_locators": [
        "Source / provenance locators",
        "- NVIDIA NCCL 2.32.3, Troubleshooting: https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting.html"
      ],
      "scope": "Source / provenance locators",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-749-URL-045F80529C89",
      "evidence_class": "RESEARCH",
      "title": "NVIDIA NCCL 2.32.3, RAS:",
      "href": "https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting/ras.html",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-749-URL-045F80529C89"
      ],
      "supporting_locators": [
        "Source / provenance locators",
        "- NVIDIA NCCL 2.32.3, RAS: https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting/ras.html"
      ],
      "scope": "Source / provenance locators",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-749-URL-29D01659A58E",
      "evidence_class": "RESEARCH",
      "title": "NVIDIA NCCL 2.32.3, Diagnostics:",
      "href": "https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting/diagnostics.html",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-749-URL-29D01659A58E"
      ],
      "supporting_locators": [
        "Source / provenance locators",
        "- NVIDIA NCCL 2.32.3, Diagnostics: https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting/diagnostics.html"
      ],
      "scope": "Source / provenance locators",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-749-URL-D56263F64718",
      "evidence_class": "RESEARCH",
      "title": "NVIDIA NCCL 2.32.3, Networking Troubleshooting:",
      "href": "https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting/networking_troubleshooting.html",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-749-URL-D56263F64718"
      ],
      "supporting_locators": [
        "Source / provenance locators",
        "- NVIDIA NCCL 2.32.3, Networking Troubleshooting: https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting/networking_troubleshooting.html"
      ],
      "scope": "Source / provenance locators",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-749-URL-9D7E75E24ECD",
      "evidence_class": "RESEARCH",
      "title": "NVIDIA GPU Debug Guidelines, GPU Node Triage:",
      "href": "https://docs.nvidia.com/deploy/gpu-debug-guidelines/gpu-node-triage.html",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-749-URL-9D7E75E24ECD"
      ],
      "supporting_locators": [
        "Source / provenance locators",
        "- NVIDIA GPU Debug Guidelines, GPU Node Triage: https://docs.nvidia.com/deploy/gpu-debug-guidelines/gpu-node-triage.html"
      ],
      "scope": "Source / provenance locators",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-749-URL-64C290BB7C2D",
      "evidence_class": "RESEARCH",
      "title": "NVIDIA NCCL Documentation Archives (2.30.7 / 2.31.2 / 2.32.3):",
      "href": "https://docs.nvidia.com/deeplearning/nccl/archives/index.html",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-749-URL-64C290BB7C2D"
      ],
      "supporting_locators": [
        "Source / provenance locators",
        "- NVIDIA NCCL Documentation Archives (2.30.7 / 2.31.2 / 2.32.3): https://docs.nvidia.com/deeplearning/nccl/archives/index.html"
      ],
      "scope": "Source / provenance locators",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EA-749-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "EA749-CANDIDATE-20261020-1105JST-C1"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ/EA_REVISION_LEDGER#ea_id=EA-749&revision_id=EA-749-RESEARCH-20261020-R1&candidate_id=EA749-CANDIDATE-20261020-1105JST-C1",
        "EA-749-RESEARCH-20261020-R1"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-749-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-20",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:0f272d78f4cd6095e3dbec161c61a355e93046d3f66350348d887500a8dbd277"
      ],
      "supporting_locators": [
        "content/staging/EA-749.md",
        "0f272d78f4cd6095e3dbec161c61a355e93046d3f66350348d887500a8dbd277",
        "EA-749-RESEARCH-20261020-R1"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "主要claim",
      "text": "分散GPU workloadのhang・collective timeout・性能急落を、NCCL errorだけから単一のroot causeへ直結させてはいけません。NCCL 2.32.3の公式Troubleshootingは、built-in Diagnostics、GPU troubleshooting、Networking Troubleshooting、Runtime/MPI、Performance/Tuning、Logging、RASを別レイヤーとして案内しています。NCCL RASは2.24以降、実行中jobの状態を低overheadで収集し、unresponsive process等のoutlierを見つけて「疑わしい箇所を絞る」機構です。NVIDIA自身も、RAS情報からsystem log analysis等の別手法へ進んでroot causeを狭める設計を示しており、RAS単独の自動根因判定器として扱うのは不適切です。\n\nNCCL 2.31以降のbuilt-in diagnosticsは、RAS diagnosticsとactive diagnosticsを分離します。RAS diagnosticsはGPU inventory、CUDA/driver、NCCL configuration等をrank間で比較するreadiness probeであり、NCCL data path自体をexerciseしません。active diagnosticsはcommunicator initialization時に実通信pathへdataを流し、GPU間P2Pやnetwork pathを検証します。したがって「設定整合性」「GPU/NVLink/PCIe」「NIC/RDMA」「fabric」「NCCL collective」「framework/process」の観測を段階化し、どの層で異常が再現するかを記録する必要があります。"
    },
    {
      "heading": "運用上の意味・failure",
      "text": "典型的なfailureは、NCCL timeoutを見てNCCL環境変数を先に変更し、hardware/fabric degradationを隠すことです。NCCL Networking Troubleshootingは、InfiniBandでは`ibstat`/`ibstatus`によるlink state/rate、`ib_write_bw`/`ib_write_lat`によるbandwidth/latency、`rdma statistic`のretry/error、`perfquery`や`ibdiagnet`によるfabric診断を案内しています。RoCEでは`ethtool -S`、PFC/ECN/CNP/queue drop等のcounter、`rping`等を確認します。\n\nGPU/node側も切り分けます。NVIDIA GPU Debug GuidelinesはDCGM diagnosticsをproduction node health/readiness検査として位置付け、network性能は`nccl-tests`の`all_reduce_perf`等でbaselineを取得し、slow pairを別nodeとのpairwise testで再検証して問題node/railを絞ることを推奨しています。したがって「job失敗時だけ測る」のではなく、正常時baselineを保存して差分で判断する方が有効です。\n\ngrey failureにも注意が必要です。linkがUPでもerror増加、tail latency、retransmission、driver/firmware異常でcollective全体が遅くなることがあります。単純なup/down health checkだけでは不足します。"
    },
    {
      "heading": "具体的control / implementation implication",
      "text": "1. jobごとに `job_id`, `rank`, `host`, `gpu_uuid`, `nic/hca`, `rail`, `NCCL version`, `CUDA/driver`, `NCCL config fingerprint`, `topology snapshot` を紐付けます。\n2. NCCL RASを有効なversionでは常時観測面として使い、hang/crash時にprocess/communicator状態とoutlierを取得します。RASの指摘はroot causeではなく「次に調べる対象」として保存します。\n3. NCCL 2.31+では、事前readinessにRAS diagnostics、通信path検証にactive diagnosticsを使い分けます。active diagnosticsはdefault disabledなので、実行policyを明示します。\n4. node admission/preflightではDCGM diagnosticsとGPU/NVLink/PCIe healthを確認し、failure nodeをschedulerから隔離できる運用へ接続します。\n5. InfiniBand/RoCEではlink stateだけでなくbandwidth、latency、retry/error、port/fabric counterをbaseline化します。multi-rail環境ではrail単位で比較します。\n6. `nccl-tests`をknown-good topologyで定期実行し、pairwise/group baselineを保存します。異常時はslow pair→片側node交換→rail固定の順でfault domainを狭めます。\n7. NCCL log、kernel log、Xid/SXid、DCGM、RDMA/NIC counter、switch telemetry、framework retry/restart eventを同一incident timelineへ結合します。\n8. recoveryは原因層ごとに分けます。process/rank failureならframework/job restart、node/GPU/NIC faultならdrain/quarantine、fabric faultならrail/path隔離またはnetwork remediationを選び、原因未確定のままNCCL tuningだけで恒久復旧扱いにしません。\n9. 復旧後は同じdiagnosticとbaseline testを再実行し、正常化readbackをincident close条件にします。"
    },
    {
      "heading": "適用境界",
      "text": "NCCL RAS/Diagnosticsの機能はversion依存です。RASは2.24以降、RAS diagnosticsとactive diagnosticsは2.31以降の機能を含むため、clusterの実NCCL versionを確認してからrunbookへ組み込みます。短命communicatorではRAS diagnosticsが非同期収集のため情報不完全になり得ます。\n\nInfiniBandとRoCEでは確認すべきcounter・tool・fabric設定が異なります。`NCCL_IB_GID_INDEX`等の設定もversion依存で、現行NCCL文書は2.21以降のRoCE GID index動的選択を説明しています。古いrunbookを現行clusterへ機械適用しません。"
    },
    {
      "heading": "counterevidence / limitations",
      "text": "active diagnosticsが成功しても、application traffic時だけ発生するcongestion、scale依存、thermal/power、intermittent grey failure、framework-level deadlockを否定できません。逆にdiagnostic failureも、即座に特定hardware部品の故障を証明するとは限りません。\n\n`nccl-tests`のbaselineは有用ですが、collective、message size、node count、topology、GPU/NIC generation、routing、background trafficが違えば性能期待値も変わります。別clusterの数値を固定thresholdとして流用せず、自環境baselineと同条件比較を優先します。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "- 実clusterでのNCCL/CUDA/driver/DCGM/NIC firmwareのversion matrix\n- 各rail・switch portまでrank/GPU/NICを結ぶinventoryの完全性\n- grey failure検知に使うcounterの組織固有threshold\n- frameworkごとのrank failure時restart semanticsとcheckpoint loss\n- cloud-managed fabricで利用者に公開されないswitch/telemetry範囲\n- active diagnosticsの実行costとproduction preflight頻度"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "「NCCL/RDMA障害はNCCL errorだけで根因を決めず、RAS/diagnostics、GPU・NVLink・PCIe、NIC/RDMA、fabric、nccl-tests、framework eventを同一incidentで相関し、fault domainを段階的に狭める。正常時baselineを保存し、復旧後も同条件で再検証する。version依存の診断機能と設定はlive環境で確認する。」"
    },
    {
      "heading": "Source / provenance locators",
      "text": "- NVIDIA NCCL 2.32.3, Troubleshooting: https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting.html\n- NVIDIA NCCL 2.32.3, RAS: https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting/ras.html\n- NVIDIA NCCL 2.32.3, Diagnostics: https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting/diagnostics.html\n- NVIDIA NCCL 2.32.3, Networking Troubleshooting: https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting/networking_troubleshooting.html\n- NVIDIA GPU Debug Guidelines, GPU Node Triage: https://docs.nvidia.com/deploy/gpu-debug-guidelines/gpu-node-triage.html\n- NVIDIA NCCL Documentation Archives (2.30.7 / 2.31.2 / 2.32.3): https://docs.nvidia.com/deeplearning/nccl/archives/index.html"
    }
  ],
  "human_url": "/tools/ea-749-nccl-rdma-fabric-failure",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-749-nccl-rdma-fabric-failure",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-749-nccl-rdma-fabric-failure"
}