К основному содержанию
скилл CX Codex

nemo-mbridge-perf-tp-dp-comm-overlap — скилл для Claude Code: overlap

Скилл ведёт по настройке перекрытия коммуникаций TP, DP и PP в Megatron-Bridge: какие ручки крутить, где смотреть код и как проверить результат.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-tp-dp-comm-overlap -a claude-code
Открыть на GitHub

Что делает nemo-mbridge-perf-tp-dp-comm-overlap

Скилл описывает, как включить перекрытие коммуникаций в Megatron-Bridge. Внутри — минимальный набор правок конфига, ссылки на участки кода, список типичных ошибок и команды для проверки.

Настройка идёт через CommOverlapConfig: tp_comm_overlap=True, а для DP нужны use_distributed_optimizer, overlap_grad_reduce и overlap_param_gather. Для TP есть готовый пресет userbuffers_bf16_h100_h12288_tp4_mbs1_seqlen2048. Точность задаётся отдельно, в mixed precision: grad_reduce_in_fp32 и fp8_param_gather.

Главная ловушка: TP overlap молча отключается, если sequence_parallel=False или нет Transformer Engine. PP overlap включается автоматически только при PP > 1 и VPP > 1. Ещё bucket_size считается в параметрах, а не в байтах. CUDA_DEVICE_MAX_CONNECTIONS и запас SM для LayerNorm задаются на старте плагина, а не в CommOverlapConfig — это повод проверить, где вы их прописали.

Проверка: uv run python -m pytest tests/unit_tests/training/test_comm_overlap.py -q должен дать 26 passed. Вторая команда, tests/unit_tests/recipes/test_run_plugins.py, проверяет переменные окружения плагина, если доступен nemo_run.

Какие задачи решает

  • включить перекрытие коммуникаций TP, DP и PP в Megatron-Bridge
  • найти причину падения пропускной способности после правки конфига overlap
  • понять, почему TP overlap отключился сам
  • выставить bucket_size для DP overlap без ошибки в единицах
  • проверить, что переменные окружения плагина подхватились на старте

Примеры запросов агенту

  • включи TP, DP и PP overlap в Megatron-Bridge и покажи минимальный конфиг
  • почему упала пропускная способность после того, как я поменял настройки comm overlap
  • прогони тесты test_comm_overlap.py и скажи, что не так с моим конфигом

Как установить nemo-mbridge-perf-tp-dp-comm-overlap

1Через Skills CLI (Vercel)

npx skills add NVIDIA/skills --skill nemo-mbridge-perf-tp-dp-comm-overlap -a claude-code

2Вручную: положить файлы

~/.claude/skills/nemo-mbridge-perf-tp-dp-comm-overlap/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/nemo-mbridge-perf-tp-dp-comm-overlap/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о nemo-mbridge-perf-tp-dp-comm-overlap

Как установить nemo-mbridge-perf-tp-dp-comm-overlap в Claude?

Выполните npx skills add NVIDIA/skills --skill nemo-mbridge-perf-tp-dp-comm-overlap -a claude-code. Скилл появится в ~/.claude/skills/nemo-mbridge-perf-tp-dp-comm-overlap/SKILL.md.

Что делает nemo-mbridge-perf-tp-dp-comm-overlap?

Это операционный гайд по перекрытию коммуникаций TP, DP и PP в Megatron-Bridge: ручки конфига, привязки к коду, подводные камни и проверка.

Почему TP overlap не включается?

Он отключается, если sequence_parallel=False или недоступен Transformer Engine. Проверьте оба условия до правки конфига.

Исходный текст

SKILL.md · Apache-2.0
---
name: nemo-mbridge-perf-tp-dp-comm-overlap
description: Operational guide for enabling TP, DP, and PP communication overlap in Megatron-Bridge, including config knobs, code anchors, pitfalls, and verification.
license: Apache-2.0
when_to_use: Enabling TP/DP/PP comm overlap, or tracing a throughput regression to a comm overlap config change; 'overlap_param_gather', 'overlap_grad_reduce', 'sequence-parallel overlap', 'TP overlap', 'DP overlap', 'comm overlap'.
---

# TP / DP / PP Communication Overlap Skill

For stable background and recommendation level, see:

- @docs/training/communication-overlap.md

## Enablement

Minimal Bridge override:

```python
from megatron.bridge.training.comm_overlap import CommOverlapConfig

cfg.model.tensor_model_parallel_size = 4
cfg.model.sequence_parallel = True
cfg.model.pipeline_model_parallel_size = 4
cfg.model.virtual_pipeline_model_parallel_size = 2

cfg.comm_overlap = CommOverlapConfig(
    tp_comm_overlap=True,
)

cfg.ddp.use_distributed_optimizer = True
cfg.ddp.overlap_grad_reduce = True
cfg.ddp.overlap_param_gather = True
```

Optional TP preset:

```python
from megatron.bridge.training.comm_overlap import userbuffers_bf16_h100_h12288_tp4_mbs1_seqlen2048

cfg.comm_overlap.tp_comm_overlap_cfg = userbuffers_bf16_h100_h12288_tp4_mbs1_seqlen2048
```

Precision knobs belong to mixed precision:

```python
cfg.mixed_precision.grad_reduce_in_fp32 = False
cfg.mixed_precision.fp8_param_gather = False
```

## Code Anchors

Bridge overlap gating:

```439:449:src/megatron/bridge/training/comm_overlap.py
if self.user_comm_overlap_cfg.tp_comm_overlap is True:
    if model_cfg.tensor_model_parallel_size < 2:
        ...
    elif not model_cfg.sequence_parallel:
        ...
    elif not HAVE_TE:
        ...
```

PP overlap selection:

```451:458:src/megatron/bridge/training/comm_overlap.py
if model_cfg.pipeline_model_parallel_size > 1:
    if vp_size > 1:
        comm_overlap_cfg.overlap_p2p_comm = True
        comm_overlap_cfg.batch_p2p_comm = False
    else:
        comm_overlap_cfg.overlap_p2p_comm = False
        comm_overlap_cfg.batch_p2p_comm = True
```

DP overlap defaults:

```572:579:src/megatron/bridge/training/comm_overlap.py
if self.data_parallel_size > 1:
    comm_overlap_cfg.bucket_size = 128 * 1024 * 1024
    comm_overlap_cfg.overlap_grad_reduce = True
    comm_overlap_cfg.overlap_param_gather = True
```

Launch-time env tuning:

```570:609:src/megatron/bridge/recipes/run_plugins.py
executor.env_vars["CUDA_DEVICE_MAX_CONNECTIONS"] = str(cuda_device_max_connections)
...
executor.env_vars["NVTE_FWD_LAYERNORM_SM_MARGIN"] = str(self.layernorm_sm_margin)
executor.env_vars["NVTE_BWD_LAYERNORM_SM_MARGIN"] = str(self.layernorm_sm_margin)
```

## Pitfalls

1. TP overlap silently disables itself if `sequence_parallel=False` or Transformer Engine is unavailable.
2. PP overlap is not enabled for all PP cases. Bridge only auto-selects `overlap_p2p_comm=True` when `PP > 1` and `VPP > 1`.
3. `bucket_size` is a parameter-count knob, not a byte-size knob.
4. `grad_reduce_in_fp32` and `fp8_param_gather` should be set through mixed precision, not as standalone DDP tuning first.
5. `CUDA_DEVICE_MAX_CONNECTIONS` and LayerNorm SM margin are launch-time plugin settings, not `CommOverlapConfig` fields.

## Verification

Use the checked-in overlap unit coverage first:

```bash
uv run python -m pytest tests/unit_tests/training/test_comm_overlap.py -q
```

Optional second check if `nemo_run` is available:

```bash
uv run python -m pytest tests/unit_tests/recipes/test_run_plugins.py -q
```

Success criteria:

- first command reports `26 passed`
- second command validates plugin-owned env wiring when not skipped

© NVIDIA · Apache-2.0 · NVIDIA/skills

Похожие скиллы

Всё по теме «ИИ и ML» →
pytorch-fsdp2 Orchestra Research Учит агента добавлять PyTorch FSDP2 в цикл обучения: инициализация, шардирование, mixed precision и распределённые чекпоинты. CX Codex +1 958установок runpod-templates runpod Скилл находит официальные шаблоны Runpod Pod, подсказывает порты и автозапуск и чинит метаданные моделей в воркфлоу ComfyUI. CX Codex +1 10 100установок nemo-evaluator-sdk Orchestra Research Скилл запускает оценку языковых моделей на 100+ бенчмарках из 18+ харнессов: MMLU, HumanEval, GSM8K, safety и VLM. Пригодится, когда нужно сравнить модели воспроизводимо. CX Codex +1 943установок vast-gpu wanshuiyin Подбирает, арендует и настраивает серверы с GPU на vast.ai под вычислительную задачу. Пригодится для обучения моделей без покупки собственного железа. CX Codex +1 453установок spark-training-gotchas Seth Hobson Диагностирует 10 частых сбоев при обучении моделей на NVIDIA DGX Spark. Помогает найти утечки памяти, троттлинг и ошибки CUDA перед долгими запусками. CX Codex 2 500установок benchmark-model modular Гоняет нагрузку на запущенный max serve и выдаёт tokens/sec, TTFT и TPOT. Нужен, когда надо понять, сколько модель держит и где проседает latency. CX Codex +1 887установок

Из того же набора178

mcore-create-issue Скилл исследует упавшие прогоны GitHub Actions в NVIDIA/Megatron-LM, находит причину сбоя и оформляет готовый баг-репорт. CX Codex +1 1 800установок mcore-run-on-slurm Скилл помогает подготовить запуск распределённого обучения Megatron-LM на SLURM-кластере. Пригодится для настройки sbatch, мног узлового запуска и разбора сбоев по логам рангов. CX Codex +1 1 800установок nemo-rl-brev-etiquette Скилл задаёт агенту правила хранения файлов на инстансе Brev: код остаётся в репозитории, тяжёлые артефакты уезжают на /ephemeral. CX Codex +1 1 800установок mcore-linting-and-formatting Скилл настраивает проверку и форматирование кода в проекте Megatron-LM. Помогает исправить ошибки ruff, mypy и отсортировать импорты перед открытием PR. CX Codex +1 1 800установок nemo-mbridge-perf-moe-dispatcher-selection Помогает выбрать между alltoall, DeepEP и HybridEP для раздачи токенов в MoE-моделях по железу, размеру EP и этапу оптимизации. CX Codex +1 1 800установок nemo-mbridge-perf-megatron-fsdp Скилл помогает настроить Megatron FSDP в Megatron-Bridge для распределённого обучения вместо стандартного DDP, избежать падений по OOM и проверить чекпоинты. CX Codex +1 1 800установок nemo-rl-docs Скилл задаёт агенту правила оформления документации NeMo-RL: обновление docs/index.md и стиль докстрингов. Пригодится, когда вы пишете или правите доки. CX Codex +1 1 800установок nemo-mbridge-resiliency Скилл описывает настройку отказоустойчивости в Megatron Bridge: перезапуски, детекцию отстающих рангов, преемпцию и повторные прогоны. CX Codex +1 1 800установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой