2026-10-24.md 4.1 KB

Ночная смена 2026-10-23/24 — FLARE head + gb10

Сделано

  1. Head-сборка FLARE (исходники переехали в NVIDIA/flare-local-inference; APT-пакет собран из f2822dc3, которого в новом репозитории нет — история перезаписана). Собрано на dgx5: uv sync --locked --extra prepare --extra test + cargo build --release --manifest-path flare/Cargo.toml, rev 26646d8506049b44040227e795518e337e789c52 (2026-10-23 19:18 UTC), бинарь 20 MB, штамп ~/flare-head/.sm121-flare-build.json. Бинарь разложен на dgx6/7/8, агенты переустановлены (flare agent install --accept-first), слушают 29900. Орбитальный кластер sparks из bring-up жив (gx10-dgx5..8), пары пережили чистку.
  2. Драйвер engine = "flare" доведён до запуска (src/native/flare.rs): preflight (контроллер — полный, пиры — только бинарь+агент), flare download, orbit run --detach, orbit stop, orbit attach в logs, ожидание /health+/v1/models, маппинг нод [flare].orbit_nodes.
  3. Пакет gb10 скачан (477 GiB = 511.3 GB, 18 файлов) на NAS в HF-кэш dgx5; EXIT=0.
  4. Найдены два реальных дефекта FLARE-пакета/обвязки (для отчёта в лабу):
    • orbit run с путём внутри snapshots/<rev>/ (HF-дерево симлинков) падает: open companion "1ff3…safetensors": No such file or directory — нужен плоский каталог (сделал хардлинками: /mnt/nas/ai/flare/pkgs/gb10, 18 файлов, 477 GiB, ln -f на блобы — без копирования);
    • драйвер брал последнюю строку вывода flare download как путь к пакету, а там строки прогресса → группа запускалась с мусорным путём и молча умирала. Исправлено (parse_package_path — ищет последнюю строку *.safetensors с /), тест добавлен.

Где встали

orbit run с плоским пакетом: rank 0 верифицирует пакет, ранги получают свои срезы по CX7, но rank 3 упал через 1800 s: [FAILED] Receive rank package over CX7. 1800.5s → Error: "package channel ended inside a range", затем timed out joining rank zero at 192.168.88.43:29800. Пинги по фабрике (200.10/.23/.24) — 0 % потерь. То есть упёрлись в 30-минутный лимит передачи 511 GB через NAS→фабрику (rank 0 читает пакет с NAS и раздаёт).

Следующие шаги (утро)

  1. Положить пакет на локальный NVMe dgx5 (563 G свободно, пакет 477 GiB) — чтение с NAS во время передачи, скорее всего, и держит скорость: сейчас NAS читается всеми четырьмя процессами.
  2. Поднять --transfer-streams (по умолчанию 8) и/или перезапустить передачу (orbit run идемпотентен по кэшу группы).
  3. Если снова таймаут — попробовать --roce-chain (в head появился 3c80cb6d: сервинг и подготовка по цепочке) вместо свитча.
  4. После готовности: sm121 bench --recipe dsv41-flash-1017-4x-flare-gb10 --cluster dgx58-switch и сравнение с vLLM-лейном (91/100, pp 2,927) и прод-SGLang (47.8–50.7 / 64.2–68.3).
  5. Дописать в драйвер: сборку плоского каталога из snapshot (хардлинки) вместо ожидания, что оператор сделает руками; --transfer-streams в [flare].serve_flags.