# nemo-mbridge-perf-moe-dispatcher-selection

Помогает выбрать между alltoall, DeepEP и HybridEP для раздачи токенов в MoE-моделях по железу, размеру EP и этапу оптимизации.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1800 установок · ★ 3735
- Автор: NVIDIA
- Лицензия: Apache-2.0 · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/NVIDIA/skills/tree/HEAD/skills/nemo-mbridge-perf-moe-dispatcher-selection/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/nemo-mbridge-perf-moe-dispatcher-selection

## Что делает

Скилл отвечает на вопрос «какой диспетчер ставить» таблицами решений: по железу (H100, B200, GB200/GB300 NVL72) и по размеру EP. Для H100 и B200 первым выбором идёт DeepEP, для NVL72 — HybridEP, а на первой сборке проще всего `alltoall`. Отдельная таблица разбирает семейства моделей: DSV3, Qwen3 235B, Qwen3 30B, Qwen3-Next и MoE-VLM.

Внутри есть параметры тюнинга. DeepEP включается через `moe_token_dispatcher_type="flex"` и `moe_flex_dispatcher_backend="deepep"`, число SM задаёт `--moe-deepep-num-sms` (по умолчанию 20). Для HybridEP — `--moe-hybridep-num-sms` (по умолчанию 16, в харнессе используют 32, советуют перебирать от 16 до 32) и переменная `NUM_OF_HYBRID_EP_RANKS_PER_NVLINK_DOMAIN`, которую надо выставить по размеру NVLink-домена в развёртывании. Если она не совпадает с топологией, страдает производительность, а иногда и корректность.

Главное ограничение — пакет рантайма. `deepep` и `hybridep` требуют своих пакетов на этапе сборки модели, и без них прогон падает до первого шага. Поэтому сначала проверяйте импорт в контейнере, а `alltoall` держите как запасной вариант для проверки корректности. Ещё скилл напоминает: выигрыш диспетчера зависит от нагрузки, в BF16 `alltoall` и HybridEP могут идти вровень, а плохая раскладка pipeline или CPU affinity способны съесть весь прирост.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-moe-dispatcher-selection -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/nemo-mbridge-perf-moe-dispatcher-selection/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/nemo-mbridge-perf-moe-dispatcher-selection/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-moe-dispatcher-selection -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/nemo-mbridge-perf-moe-dispatcher-selection/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-moe-dispatcher-selection -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/nemo-mbridge-perf-moe-dispatcher-selection/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install NVIDIA/skills nemo-mbridge-perf-moe-dispatcher-selection
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/nemo-mbridge-perf-moe-dispatcher-selection/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-moe-dispatcher-selection -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/NVIDIA/skills --path skills/nemo-mbridge-perf-moe-dispatcher-selection
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/nemo-mbridge-perf-moe-dispatcher-selection/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-moe-dispatcher-selection -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/NVIDIA/skills/tree/HEAD/skills/nemo-mbridge-perf-moe-dispatcher-selection/SKILL.md

## Когда брать
- выбрать диспетчер токенов под конкретное железо и размер EP
- понять, когда DeepEP перестаёт быть достаточным и нужен HybridEP
- настроить число SM для коммуникационных ядер DeepEP и HybridEP
- отловить регрессию или падение после смены конфига диспетчера
- проверить, что пакет рантайма вообще импортируется в контейнере

## Примеры запросов агенту
- Какой MoE-диспетчер выбрать для Claude 235B на GB200?
- У нас падает прогон после переключения на hybridep — проверь конфиг диспетчера
- Сравни alltoall и DeepEP для EP=16 на H100

## Похожие
- [dispatcher](https://affpapa.org/nevibecode/skills/dispatcher.md) — скилл · 986 установок
- [nemo-evaluator-sdk](https://affpapa.org/nevibecode/skills/nemo-evaluator-sdk.md) — скилл · 943 установки
- [benchmark-model](https://affpapa.org/nevibecode/skills/benchmark-model.md) — скилл · 887 установок
- [gpu-server-management](https://affpapa.org/nevibecode/skills/gpu-server-management.md) — скилл · 331 установка
- [gpu-kubernetes-operations](https://affpapa.org/nevibecode/skills/gpu-kubernetes-operations.md) — скилл · 329 установок
- [cuda-profiling](https://affpapa.org/nevibecode/skills/cuda-profiling.md) — скилл · 316 установок

Из того же набора: [nvidia/skills](https://affpapa.org/nevibecode/by/nvidia/skills.md) — 178 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
