fr-analysis

от nvidia

Анализировать дампы NCCL flight-recorder (FR) PyTorch для выявления зависаний коллективных операций и изоляции ответственных рангов с помощью CollectiveAnalyzer. Использовать, когда…

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

Больше skills от nvidia

compileiq-debug
nvidia
Используйте, когда что-то не так: Search() зависает, все оценки возвращают INVALID_SCORE, оценки не улучшаются, каждая конфигурация возвращает одно и то же число, ошибки ptxas…
create-github-pr
nvidia
Создание pull request'ов в GitHub с помощью gh CLI. Используйте, когда пользователь хочет создать новый PR, отправить код на ревью или открыть pull request. Ключевые слова для запуска —…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Сканирует другие открытые задачи, чтобы найти те, которые данный PR может исправить или случайно сломать. Выводит возможности смежных исправлений и риски противоречий с указанием файла:строки…
fhir-basics
nvidia
Обучает агентов работе с API FHIR R4, доступным ресурсам, запросам с параметрами поиска и корректному разбору всех форматов ответов…
compileiq-validate-result
nvidia
Используйте ПОСЛЕ завершения поиска и ДО применения ускорения или отправки ACF. Загружает CSV-файл dump_results, извлекает top-K кандидатов (однокритериальный)...
changelog-audit
nvidia
Аудит Warp CHANGELOG.md перед релизом: восстановление потерянных записей, сортировка по влиянию на пользователей, уточнение формулировок, перенос строк и (в режиме релизной ветки) обновление сравнения…
maintain-dynamic-plugins
nvidia
Поддержка загрузчиков динамических плагинов NeMo Relay, манифестов, нативных Rust SDK, протокола gRPC worker, Python worker SDK, документации, тестов и покрытия рабочего процесса релиза
dgx-diagnose
nvidia
Диагностика распространённых проблем DGX Station GB300 — сбои CUDA, ошибочное нацеливание на GPU, ошибки контейнеров vLLM/SGLang, проблемы состояния MIG, ошибки NVLink/Fabric Manager,…