Files
gpu-rent/docs/swarmui.md
T
Leonid Pershin 2ccb03f7d2 Enhance GPU probing and performance tuning in provisioning
- Introduced GPU probing functionality to gather and store GPU specifications in `/mnt/swarm_data/.gpu-rent-gpu.json`, aiding in performance tuning.
- Updated `install_ollama.sh` and `install_llamacpp.sh` to utilize GPU information for configuring optimal runtime parameters.
- Enhanced `provision.py` to include GPU probing and performance tuning logic, ensuring better resource allocation for LLM operations.
- Improved documentation in `decisions.md`, `llm.md`, and `swarmui.md` to reflect changes in GPU handling and performance tuning processes.
- Added new tests to validate the GPU probing and model resolution logic, ensuring robustness in handling various GPU configurations.
2026-08-21 06:10:24 +03:00

4.0 KiB
Raw Blame History

SwarmUI на GPU-сервере

Репозиторий: mcmonkeyprojects/SwarmUI.

Без Docker. На VM процесс слушает 7801 на loopback (launch-linux.sh). На ноутбуке туннель — 17801.

Чего нет

  • Docker, nvidia-container-toolkit, образа на Docker Hub.
  • Порта 7860 (это Automatic1111).
  • Зеркала локального SwarmUI. С ноутбука едут только деревья приложения: local-folders.md. Первый Civitai-seed — models.md.

Bootstrap (один раз на boot volume)

  1. Образ Selectel Ubuntu 24.04 LTS GPU Driver 580 (без Docker в имени, см. selectel.md).
  2. Git clone SwarmUI в /opt/swarmui. .NET — launchtools/linux-dotnet-install.sh (SDK 8 и 10, как в доке SwarmUI).
  3. Bind-mounts с data volume в дерево /opt/swarmui — таблица в architecture.md.
  4. Clone git-расширений из манифеста (extensions.md), если файл не пустой.
  5. Word-list autocomplete в Data/Autocompletions и DefaultUser.AutoComplete.Source (autocomplete.md).
  6. Если есть Civitai-токен и манифест моделей: seed весов до первого старта SwarmUI; иначе — дефолтная модель установщика.
  7. Push непустых Models/ / Wildcards/ / CustomWorkflows/.
  8. systemd unit swarmui: ./launch-linux.sh --launch_mode none --host 127.0.0.1 --port 7801.
  9. GPU probe/mnt/swarm_data/.gpu-rent-gpu.json (VRAM / compute cap / tier) — до старта UI; Ollama/llama.cpp читают его при install.
  10. Старт SwarmUI → seed LLM → idle-killer → wait backend Idle.
  11. Perf tune после Idletriton+sageattention в Comfy venv и --use-sage-attention в Data/Backends.fds (маркер .gpu-rent-perf-tuned; повтор при смене GPU).
  12. Авторизация SwarmUI включена, токен в Data на диске.
  13. Один snapshot boot volume gpu-rent-boot-ok, если ещё нет.

Рестарт UI: systemctl restart swarmui, не docker restart.

ComfyUI

Первый запуск качает backend в /opt/swarmui/dlbackend (это bind на data volume). Иначе каждый recreate потеряет часы.

Скорость без потери качества (gpu-rent): после Idle backend, на GPU с compute capability ≥ 8.0 и ≥16GiB VRAM — SageAttention. Performance.AllowGpuSpecificOptimizations у Swarm по умолчанию уже включает --fast для 30xx+. Если venv ещё не появился — маркер без pip_ok, догонит на следующем up.

Пока CUDA/ComfyUI поднимаются, UI уже может отвечать. Для MCP и /API/ — рано: ready после Idle backend (подтвердить на spike).

Доступ с ноутбука

Пока запущен gpu-rent tunnel:

Что URL
UI http://127.0.0.1:17801
HTTP API http://127.0.0.1:17801/API/
MCP http://127.0.0.1:17801/mcp

Локальный инстанс на 7801 продолжает жить. В Cursor MCP на время сессии переключают на 17801 (вручную по сниппету CLI).

Без туннеля API с ноутбука недоступен: 7801 на VM не опубликован в интернет.

Чего не делать

  • chmod -R 777 на Models.
  • Слушать 7801 на 0.0.0.0.
  • Ставить Docker «на всякий случай».
  • Считать Nova ACTIVE = можно генерировать.
  • apt upgrade ядра (ломает nvidia-smi).