Initial SQL-only 1C adapter baseline
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
# GPU Host Preflight
|
||||
|
||||
Цель: проверить, что `docker-gpu.cin.su` готов к запуску GPU-контейнеров.
|
||||
|
||||
Если `docker-gpu.cin.su` указывает на Windows-хост, используйте также отдельный runbook:
|
||||
|
||||
```text
|
||||
docs/runbooks/windows-docker-gpu-host.md
|
||||
```
|
||||
|
||||
## SSH Host Key
|
||||
|
||||
Если SSH сообщает `Host key verification failed`, нужно вручную проверить fingerprint хоста и добавить ключ в `known_hosts`.
|
||||
|
||||
Команда для просмотра ключа:
|
||||
|
||||
```powershell
|
||||
ssh-keyscan docker-gpu.cin.su
|
||||
```
|
||||
|
||||
После проверки fingerprint можно добавить ключ:
|
||||
|
||||
```powershell
|
||||
ssh-keyscan docker-gpu.cin.su >> $env:USERPROFILE\.ssh\known_hosts
|
||||
```
|
||||
|
||||
Не добавляйте ключ вслепую, если есть риск подмены DNS или хоста.
|
||||
|
||||
## Preflight
|
||||
|
||||
Из корня проекта:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/check_gpu_host.ps1
|
||||
```
|
||||
|
||||
Если нужен явный пользователь SSH:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/check_gpu_host.ps1 -SshTarget USER@docker-gpu.cin.su
|
||||
```
|
||||
|
||||
Скрипт проверяет:
|
||||
|
||||
- SSH-доступ;
|
||||
- наличие GPU через `nvidia-smi`;
|
||||
- Docker Engine;
|
||||
- Docker Compose;
|
||||
- запуск тестового CUDA-контейнера с `--gpus all`.
|
||||
|
||||
## Readiness Report
|
||||
|
||||
Чтобы одной командой проверить SSH preflight и endpoints активного GPU-профиля:
|
||||
|
||||
```powershell
|
||||
python scripts/check_gpu_readiness.py --profile text --print
|
||||
```
|
||||
|
||||
Отчет пишется в:
|
||||
|
||||
```text
|
||||
reports/gpu-readiness.json
|
||||
```
|
||||
|
||||
По умолчанию проверяется профиль `text` из `config/gpu_profiles.json`:
|
||||
|
||||
- SSH/GPU/Docker preflight через `scripts/check_gpu_host.ps1`.
|
||||
- health/model endpoints из поля `wait` выбранного профиля.
|
||||
|
||||
Полная проверка взаимоисключающих OpenAI-compatible endpoints доступна отдельно:
|
||||
|
||||
```powershell
|
||||
python scripts/check_gpu_readiness.py --all-endpoints --print
|
||||
```
|
||||
|
||||
Если SSH возвращает `Permission denied`, нужно настроить SSH-ключ или явно указать пользователя:
|
||||
|
||||
```powershell
|
||||
python scripts/check_gpu_readiness.py --ssh-target USER@docker-gpu.cin.su --print
|
||||
```
|
||||
|
||||
## Full GPU Stack Flow
|
||||
|
||||
После настройки SSH-доступа можно запустить весь контур:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_gpu_stack.ps1 -Pull
|
||||
```
|
||||
|
||||
Сценарий выполняет:
|
||||
|
||||
- GPU host preflight;
|
||||
- deploy vLLM;
|
||||
- deploy llama.cpp GGUF;
|
||||
- ожидание `/v1/models` для обоих endpoint-ов;
|
||||
- запуск live evals.
|
||||
|
||||
Посмотреть план без запуска:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_gpu_stack.ps1 -PlanOnly -Pull
|
||||
```
|
||||
|
||||
Проверить compose-файлы без SSH preflight:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_gpu_stack.ps1 -ConfigOnly -SkipPreflight
|
||||
```
|
||||
|
||||
## Expected Result
|
||||
|
||||
В выводе должны быть:
|
||||
|
||||
- имя хоста;
|
||||
- модель GPU и объем VRAM;
|
||||
- версия Docker;
|
||||
- версия Docker Compose;
|
||||
- результат `nvidia-smi` внутри контейнера.
|
||||
Reference in New Issue
Block a user