|
|
@@ -182,3 +182,27 @@ Mac-процесс serve умер после стрима лога (ран-ли
|
|
|
- Состояние: MiMo 4x serves на dgx5–8 (API `http://192.168.88.43:30000`,
|
|
|
модель `mimo-v2.6-flash` @524K), ledger открыт (serve с `--no-wait`).
|
|
|
2x glm53 на dgx1/2 не тронут.
|
|
|
+
|
|
|
+## Первоклассные движки: gr8 + DGPP (engine-drivers)
|
|
|
+
|
|
|
+- Мотивация: сторонние движки (`gr8`, `DGPP`) были «псевдо-vLLM» — попадали в
|
|
|
+ vLLM-ветки и генерировали неверные флаги. Рефакторинг по трейту + два новых
|
|
|
+ движка как первоклассные. Спека: `specs/tech-architecture/engine-drivers.md`.
|
|
|
+- **Phase 1** (`engine.rs`, удалён `engine_flags.rs`): трейт `EngineDriver` +
|
|
|
+ реестр `driver_for()`; шесть мест (build_engine_args, docker NCCL worker-IP,
|
|
|
+ tmux entrypoint/port/host-IP, doctor-hint) делегируют. Чистый рефактор —
|
|
|
+ vllm/sglang байт-в-байт.
|
|
|
+- **Phase 2** (`Gr8Driver`): `--model`, `--tp/--peers` (mgmt-IP по рангам,
|
|
|
+ `peers` в `EngineFlagsCtx`), `takes_host_port=false` (API :8100 фикс.).
|
|
|
+ `validate` освобождает движки без `--host/--port` от port-convention. Рецепт
|
|
|
+ `glm53-full-tp4-gr8` (recipes `541c5f6`). Dry-run рендерит точный
|
|
|
+ `gr8 glm53 up … --tp 4 --peers …`.
|
|
|
+- **Phase 3** (`DeployTarget::Native` + `DgppDriver` + `src/native/`):
|
|
|
+ head-coordinated — rank 0 запускает `dgpp-cluster up`, менеджер самнимает
|
|
|
+ peers. Рецепт `[dgpp]` (http_port, dir, release, свободная таблица
|
|
|
+ `[dgpp.engine]`); генерация cluster-JSON (model/world_size/http + engine
|
|
|
+ verbatim) + sibling `.env` (DGPP_NODES/SSH_USER/ports), заливка на rank 0
|
|
|
+ heredoc'ом (`~`→`$HOME`), nohup-запуск; стоп — `dgpp-cluster down`. Рецепт
|
|
|
+ `qwen38-27b-nvfp4-dgpp` (recipes `c733c06`). Юнит-тесты JSON/env/expand_home.
|
|
|
+- `make check` зелёный (375 тестов + UI + lines + recipe-gate). Launcher
|
|
|
+ `fe1d70a`. Live-проверка native-serve — при первом реальном DGPP-деплое.
|