fr-analysis

bởi nvidia

Phân tích các bản ghi flight-recorder (FR) NCCL của PyTorch để xác định các lần treo hoạt động tập thể và cô lập các rank chịu trách nhiệm bằng CollectiveAnalyzer. Sử dụng khi một…

npx skills add https://github.com/nvidia/nvidia-resiliency-ext --skill fr-analysis

Skill: fr_analysis

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

Script: scripts/fr_attribution.pyattribution/trace_analyzer/fr_attribution.py


What it does

  1. Loads all FR dump files matching a glob pattern under --fr-path.
  2. Parses each dump into Collective records (op type, ranks, process group, timing, state).
  3. Groups collectives by process group and sequence ID across ranks to detect mismatches.
  4. Identifies the wavefront — the process group boundary where collectives diverge — and returns the missing ranks at that boundary as the root-cause suspects.
  5. Optionally runs an LLM pass (--llm-analyze) over the structured findings for a human-readable summary.

CLI

python scripts/fr_attribution.py \
    --fr-path /path/to/fr_dumps/ \
    [-p "_dump_*"] \
    [--verbose] \
    [--health-check] \
    [--llm-analyze] \
    [--model MODEL] \
    [--debug]
FlagDefaultDescription
--fr-pathrequiredPath to a directory (or single file) containing FR dump files
--pattern, -p_dump_*Glob pattern for dump files within --fr-path
--verbose, -voffPrint detailed per-rank collective tables
--health-check, -coffInclude node health check results in output
--llm-analyze, -loffPass structured findings to the LLM for a narrative summary
--model, -mnvidia/nemotron-3-super-120b-a12bLLM model (only used with --llm-analyze)
--debugoffConvert binary trace files to JSON for inspection

Programmatic API

from nvidia_resiliency_ext.attribution.trace_analyzer.fr_attribution import CollectiveAnalyzer

analyzer = CollectiveAnalyzer({
    "fr_path": "/path/to/fr_dumps/",
    "pattern": "_dump_*",
    "verbose": False,
    "health_check": False,
    "llm_analyze": False,
    "model": "nvidia/nemotron-3-super-120b-a12b",
})
results = analyzer.run_sync({
    "fr_path": "/path/to/fr_dumps/",
})
# results: tuple[FRAnalysisResult | str, AttributionState]

Output

Returns (result, AttributionState) where result is the FR analysis table and describes:

  • The selected wavefront/front process group
  • Missing ranks at that process group (root-cause suspects)
  • Per-rank collective status tables (when --verbose)
  • Node health summary (when --health-check)
  • LLM narrative (when --llm-analyze)

AttributionState.STOP indicates the hang is unrecoverable; CONTINUE indicates the job may be restartable after isolating the identified ranks.


Dump file formats

FormatNotes
_dump_* filesPyTorch FR dump prefix pattern used by the feedback loop
Binary pickle / JSON payloadsDetected automatically; use --debug to convert binary traces to JSON

FR dumps are typically written to the directory specified by TORCH_NCCL_DEBUG_INFO_TEMP_FILE or triggered automatically on NCCL timeout.


Prerequisites

  • FR dump files produced by PyTorch NCCL (set TORCH_NCCL_TRACE_BUFFER_SIZE > 0)
  • LLM_API_KEY required only when using --llm-analyze
  • langchain-openai required only when using --llm-analyze
  • FR_DEBUG=1 env var enables verbose debug logging in the script

Thêm skills từ nvidia

compileiq-debug
nvidia
Sử dụng khi có điều gì đó không ổn: Search() bị treo, tất cả các đánh giá đều trả về INVALID_SCORE, điểm số không cải thiện, mọi cấu hình đều trả về cùng một số, lỗi ptxas…
create-github-pr
nvidia
Tạo pull request GitHub bằng cách sử dụng gh CLI. Sử dụng khi người dùng muốn tạo PR mới, gửi mã để xem xét, hoặc mở pull request. Từ khóa kích hoạt -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Quét các vấn đề đang mở khác để tìm những vấn đề mà một PR nhất định có thể sửa hoặc vô tình làm hỏng. Đưa ra các cơ hội sửa lỗi liền kề và rủi ro mâu thuẫn với file:dòng…
fhir-basics
nvidia
Dạy các tác nhân cách hoạt động của API FHIR R4, những tài nguyên có sẵn, cách truy vấn chúng với tham số tìm kiếm, và cách phân tích chính xác tất cả các định dạng phản hồi…
compileiq-validate-result
nvidia
Sử dụng SAU KHI tìm kiếm hoàn tất và TRƯỚC KHI yêu cầu tăng tốc hoặc gửi ACF. Tải tệp CSV dump_results, trích xuất các ứng viên top-K (đơn mục tiêu)…
changelog-audit
nvidia
Kiểm tra Warp CHANGELOG.md trước khi phát hành: khôi phục các mục bị mất, sắp xếp theo tác động người dùng, tinh chỉnh ngôn ngữ mục, xuống dòng và (chế độ nhánh phát hành) so sánh bump…
maintain-dynamic-plugins
nvidia
Duy trì các bộ nạp plugin động NeMo Relay, tệp kê khai, SDK gốc Rust, giao thức worker gRPC, SDK worker Python, tài liệu, kiểm thử và phạm vi quy trình phát hành
dgx-diagnose
nvidia
Chẩn đoán các sự cố thường gặp của DGX Station GB300 — lỗi CUDA, nhắm sai GPU, lỗi container vLLM/SGLang, vấn đề trạng thái MIG, lỗi NVLink/Fabric Manager,…