fr-analysis

Analyze PyTorch NCCL flight-recorder dumps to identify collective hangs and suspect ranks.

320|60|Updated Oct 4, 2024
One-click install
npx skills add https://github.com/NVIDIA/nvidia-resiliency-ext --skill fr-analysis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fr-analysis
Source: https://github.com/NVIDIA/nvidia-resiliency-ext/tree/main/src/nvidia_resiliency_ext/skills/nvrx-attr/fr-analysis
Command: npx skills add https://github.com/NVIDIA/nvidia-resiliency-ext --skill fr-analysis

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Analyze PyTorch NCCL flight-recorder (FR) dumps to identify the collective operation hang and isolate the responsible ranks using CollectiveAnalyzer.

Core Features & Use Cases

  • Loads and parses FR dump files into structured Collective records (op type, ranks, process group, timing, state).
  • Groups data by process group and sequence across ranks to detect mismatches and divergence.
  • Identifies the wavefront boundary where collectives diverge and returns missing ranks as root-cause suspects.
  • Optionally runs an LLM pass over findings for a narrative summary (--llm-analyze).
  • CLI/API usage with scripts/fr_attribution.py to produce actionable attributions.

Quick Start

Run the attribution script on your FR dump directory to generate the root-cause report.

Frequently Asked Questions about fr-analysis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify which ranks caused an NCCL hang in PyTorch distributed training?

You can identify ranks causing an NCCL hang by parsing PyTorch flight-recorder dumps to detect collective operation divergence across process groups and isolating missing ranks as root-cause suspects.

What do I need to enable PyTorch NCCL flight-recorder dumps for hang detection?

To enable PyTorch NCCL flight-recorder dumps for hang detection, set the TORCH_NCCL_TRACE_BUFFER_SIZE environment variable greater than zero before running your distributed training job to capture the required trace data.

Can I get a narrative summary of NCCL collective hangs from flight-recorder dumps?

Yes, you can generate a narrative summary of NCCL collective hangs from flight-recorder dumps by running the attribution script with the optional LLM analysis pass enabled via the --llm-analyze flag.

How does a collective analyzer find the wavefront boundary in NCCL timeout dumps?

A collective analyzer finds the wavefront boundary in NCCL timeout dumps by grouping collective records by process group and sequence across ranks, identifying where operations diverge and isolating missing ranks as suspects.

What is the best way to debug distributed PyTorch training jobs hanging on NCCL timeouts?

The best way to debug distributed PyTorch training jobs hanging on NCCL timeouts is analyzing flight-recorder dumps to identify the wavefront process group where collectives diverged and isolating the responsible missing ranks.