Стенд dgx5–8 (по указанию оператора), прод dgx1–4 не трогали ни разу.
Панель рецептов держала лейны «активными» после остановки (то, что поймал
оператор). Причина: строки пересобирались только по событиям файлов в
reports/ и recipe.toml, а serve/stop пишут .lock — он не считался
релевантным; плюс флаги stale/fleet_up выставлялись навсегда.
.lock теперь триггерит пересборку, а 30-секундный тик сверяет «up»-множество
строк с леджером и пересобирает при расхождении (догоняет и пропущенные
watcher-события);fleet_up на аддоне, где леджера
нет вообще и он раньше замирал после первого прохода.stale; runlock close
→ строка исчезает на следующем тике. 1.3.3.Ресайз окна лога (второй баг оператора): жест умирал, как только указатель
пересекал iframe-панель рецептов — события уходили внутрь iframe. drag() берёт
pointer capture. 1.3.1.
Host-скрипты переехали в репозиторий рецептов. before_serve/after_stop
принимают { script = "scripts/prepare.sh" } — путь относительно каталога
рецепта (абсолютные и .. запрещены). Скрипт стейджинга TensorFold стал
recipes/dsv41-flash-1017-2x-tensorfold/scripts/prepare.sh. Попутно: хуки
получают serve-local NODE_RANK (на subset-запуске отдавали конфиг-ранг →
паки строились для ранга 2/3 в 2-ранговом движке), bench понимает
TensorFold-овский --name.
Чейнджлог аддона — sm121/CHANGELOG.md (HA показывает секцию установленной
версии), правило «каждый бамп = своя секция» в AGENTS.md. Релизы 1.3.0 →
1.3.3, все зелёные (amd64/arm64).
Дисциплина мониторинга — раздел в AGENTS.md: не sleep 600; check, а
фоновый запуск + короткий поллинг в том же вызове с выходом на первом Error:.
TensorFold ушёл вперёд. Наш рецепт пинит TF 0.6.0; публичная семья —
1.0.12 / 1.2.4 (нативный Zig-движок): 2- и 4-нодовые рецепты
(MiaAI-Lab, bertholomus/…-tp4-4xgb10), kept-prompt reuse, wide copy
windows (sehoon123: копирование из промпта 123.6 → 204.1 tok/s), точный
DSpark, vision, grammar/tool calls.
RedHatAI/GLM-5.3-MXFP4xFP8 (2026-10-21): полный GLM-5.3 (не Flash),
78 слоёв, GlmMoeDsaForCausalLM, ~4.5 бита/пар, 415.4 GB, 1M окно.
local-inference-lab открыл GitHub: blackwell-llm-docker с образами
voipmonitor/sglang:cu130|cu132, voipmonitor/vllm:vllm-b12x-cu132 (b12x +
FlashInfer из исходников, CUDA 13.2), voipmonitor/vllm:lucifer; плюс форк
flashinfer, llm-inference-bench, rtx6kpro. Сам рантайм FLARE не открыт.
Форум: 386130 «RAIDFLASH: 2.5× decode на 2×GB10 GLM-5.3-Flash (TF)» — слой параллельных полос поверх TF 0.6.0: длинный ответ режется на k стримов, 49 → 110–200 tok/s на одного пользователя (это про длинную генерацию, не про агентский ход); 386108 (GLM-5.3-Flash-FP4-Local + 2M FP8 KV), 386098 (1017), 386285 (4× China OEM без свитча, 90 tok/s).
Детали и точные входы: specs/tech-architecture/tensorfold-1.0.12-bringup.md.
Сделано: движок собран (Zig 0.17.0 + CUDA 13 в нашем TF-образе, -Dsm=121);
kit проверен (362/362 файлов MANIFEST; RoPE-таблицы и vision-биас в git
отсутствуют — добраны из HF, HF-копия побайтово совпала с git); веса EXL3 4.0bpw
(288 GB) на NAS; rank-cache 75.6 GiB/нода (tf-dsv41-check: 189 610
записей, 0 расхождений); token map.
Блокер: the native CUDA engine cannot load /model … glue kernels
(FileNotFound), а tf-dsv41-load → MissingEntry — движок на коммите
51726210 и чекпойнт 4.0bpw расходятся по какой-то записи (не шард, не
kit-файл). Попутно найдено и записано: HF-симлинки рвут bind-mount (лечится
каталогом жёстких ссылок), entrypoint образа надо гасить (--entrypoint ""),
token map на хосте падает без tokenizers.
Рецепт glm53-mxfp4-fp8-4x (TP4, 32K окно, MTP k=5, glm47-парсеры, образ
spark-glm53:v10 — в его реестре уже есть GlmMoeDsaForCausalLM). Веса 415 GB
скачаны на NAS, образ разложен на все 4 ноды заранее.
Две попытки по ~45 мин каждая (два полных прохода загрузки 141 шарда) упираются в инициализацию воркеров:
Worker_TP0 … is_in_the_same_node: gloo/tcp/pair.cc:553 Conn…
WorkerProc failed to start → Engine core initialization failed
Это multi-node инициализация (gloo message-queue) в kindling-форке, который
тюнили под TP2 на двух нодах; память тоже впритык (при GMU 0.90 веса занимают
~97 GiB из ~119 GiB). Что пробовать дальше: --distributed-executor-backend ray
(если Ray есть в образе), либо upstream-vLLM ≥0.32 (карточка RedHat ссылается
именно на него) вместо форка, либо voipmonitor/vllm:vllm-b12x-cu132 из
local-inference-lab, где CUDA 13.2 + b12x + FlashInfer собраны свежими.
| где | что |
|---|---|
| dgx1–4 | прод dsv41-flash-1017-4x-sglang (EP2/1M) — не тронут |
| dgx5–6 | GLM-5.3-Flash 2x (kindling, DFlash2 + adaptive-k) — поднят; контрольный прогон утром: 95/100 (185/194), Hard Mode 52/56 (93%), safety-critical 0, ход 3.6 s |
| dgx7–8 | свободны (там остались rank-cache TF 1.0.12 ~76 GB/нода и kit/engine) |
Аддон: 1.3.3 (обновить в HA). Все правки в launcher и recipes запушены.
voipmonitor, где
multi-node mp надёжен; память мерить при GMU 0.85–0.88.MissingEntry, либо взять 2x-семью
MiaAI-Lab (196 GB, много пользователей) с патчами sehoon123.dev-20261016-sparkcache, RedHat-драфтеры (dspark/dflash для
gemma-4), DSPARK sweep 3/5/7 — когда освободятся ноды.