feat: Add presence heartbeat for Matrix online status
- matrix-gateway: POST /internal/matrix/presence/online endpoint - usePresenceHeartbeat hook with activity tracking - Auto away after 5 min inactivity - Offline on page close/visibility change - Integrated in MatrixChatRoom component
This commit is contained in:
223
NODE1-GPU-ENABLE-INSTRUCTIONS.md
Normal file
223
NODE1-GPU-ENABLE-INSTRUCTIONS.md
Normal file
@@ -0,0 +1,223 @@
|
||||
# 🚀 Інструкції: Увімкнення GPU для Ollama на НОДА1
|
||||
|
||||
**Дата:** 2025-01-27
|
||||
**GPU:** NVIDIA RTX 4000 SFF Ada Generation (20GB VRAM)
|
||||
**Проблема:** Ollama використовує CPU (1583% CPU) замість GPU
|
||||
**Рішення:** Увімкнути GPU acceleration для Ollama
|
||||
|
||||
---
|
||||
|
||||
## 📋 Крок 1: Перевірка поточного стану
|
||||
|
||||
```bash
|
||||
# На НОДА1 (144.76.224.179)
|
||||
ssh root@144.76.224.179
|
||||
|
||||
# Перевірити GPU
|
||||
nvidia-smi
|
||||
|
||||
# Перевірити Ollama контейнер
|
||||
docker ps | grep ollama
|
||||
docker inspect ollama --format '{{.HostConfig.DeviceRequests}}'
|
||||
```
|
||||
|
||||
**Очікуваний результат:** `[]` (GPU не налаштовано)
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Крок 2: Оновити docker-compose.yml
|
||||
|
||||
Знайти файл `docker-compose.yml` на НОДА1:
|
||||
```bash
|
||||
cd /opt/microdao-daarion
|
||||
ls -la docker-compose.yml
|
||||
```
|
||||
|
||||
Знайти секцію `ollama:` та додати GPU конфігурацію:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
container_name: ollama
|
||||
ports:
|
||||
- "11434:11434"
|
||||
volumes:
|
||||
- ollama-data:/root/.ollama
|
||||
# ДОДАТИ GPU КОНФІГУРАЦІЮ:
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: 1
|
||||
capabilities: [gpu]
|
||||
environment:
|
||||
- NVIDIA_VISIBLE_DEVICES=all
|
||||
- CUDA_VISIBLE_DEVICES=0
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
**Альтернатива (якщо використовується docker run):**
|
||||
```bash
|
||||
docker stop ollama
|
||||
docker rm ollama
|
||||
docker run -d \
|
||||
--name ollama \
|
||||
--gpus all \
|
||||
-p 11434:11434 \
|
||||
-v ollama-data:/root/.ollama \
|
||||
-e NVIDIA_VISIBLE_DEVICES=all \
|
||||
ollama/ollama:latest
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Крок 3: Перезапустити Ollama
|
||||
|
||||
```bash
|
||||
cd /opt/microdao-daarion
|
||||
|
||||
# Зупинити Ollama
|
||||
docker compose stop ollama
|
||||
|
||||
# Перезапустити з новою конфігурацією
|
||||
docker compose up -d ollama
|
||||
|
||||
# Перевірити статус
|
||||
docker ps | grep ollama
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Крок 4: Перевірити використання GPU
|
||||
|
||||
```bash
|
||||
# Перевірити GPU utilization
|
||||
nvidia-smi
|
||||
|
||||
# Перевірити Ollama через API
|
||||
curl http://localhost:11434/api/ps
|
||||
|
||||
# Протестувати Ollama з GPU
|
||||
docker exec ollama ollama run qwen3:8b "Привіт, тест GPU"
|
||||
```
|
||||
|
||||
**Очікуваний результат:**
|
||||
- `nvidia-smi` показує процес Ollama на GPU
|
||||
- GPU utilization: 30-50%
|
||||
- CPU навантаження Ollama: знизиться з 1583% до 50-100%
|
||||
|
||||
---
|
||||
|
||||
## 📊 Крок 5: Моніторинг результатів
|
||||
|
||||
```bash
|
||||
# CPU навантаження (має знизитися)
|
||||
top -bn1 | grep "Cpu(s)"
|
||||
|
||||
# GPU використання (має збільшитися)
|
||||
nvidia-smi --query-gpu=utilization.gpu,memory.used,memory.total --format=csv
|
||||
|
||||
# Ollama процеси
|
||||
docker exec ollama ollama ps
|
||||
```
|
||||
|
||||
**Очікувані результати:**
|
||||
- ✅ CPU: 85.3% → 40-50% (-35-45%)
|
||||
- ✅ GPU: 0% → 30-50% utilization
|
||||
- ✅ Ollama CPU: 1583% → 50-100%
|
||||
- ✅ Швидкість інференсу: +200-300%
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Крок 6: Перевірка помилок
|
||||
|
||||
Якщо GPU не працює:
|
||||
|
||||
```bash
|
||||
# Перевірити логи Ollama
|
||||
docker logs ollama | tail -50
|
||||
|
||||
# Перевірити nvidia-container-toolkit
|
||||
nvidia-container-cli --version
|
||||
|
||||
# Перевірити Docker GPU підтримку
|
||||
docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi
|
||||
```
|
||||
|
||||
**Можливі проблеми:**
|
||||
1. ❌ `nvidia-container-toolkit` не встановлено
|
||||
```bash
|
||||
# Встановити nvidia-container-toolkit
|
||||
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
|
||||
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
|
||||
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
|
||||
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
|
||||
sudo systemctl restart docker
|
||||
```
|
||||
|
||||
2. ❌ Docker не підтримує `--gpus`
|
||||
```bash
|
||||
# Оновити Docker до версії з підтримкою GPU
|
||||
docker --version
|
||||
# Потрібна версія 19.03+
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 Приклад оновленого docker-compose.yml
|
||||
|
||||
```yaml
|
||||
services:
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
container_name: ollama
|
||||
ports:
|
||||
- "11434:11434"
|
||||
volumes:
|
||||
- ollama-data:/root/.ollama
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: 1
|
||||
capabilities: [gpu]
|
||||
environment:
|
||||
- NVIDIA_VISIBLE_DEVICES=all
|
||||
- CUDA_VISIBLE_DEVICES=0
|
||||
- OLLAMA_NUM_GPU=1
|
||||
- OLLAMA_GPU_LAYERS=35 # Для qwen3:8b
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- dagi-network
|
||||
|
||||
volumes:
|
||||
ollama-data:
|
||||
driver: local
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Швидкий старт (одна команда)
|
||||
|
||||
```bash
|
||||
# На НОДА1
|
||||
cd /opt/microdao-daarion && \
|
||||
docker compose stop ollama && \
|
||||
# Оновити docker-compose.yml вручну, потім:
|
||||
docker compose up -d ollama && \
|
||||
sleep 5 && \
|
||||
nvidia-smi && \
|
||||
docker exec ollama ollama ps
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** 2025-01-27
|
||||
**Status:** 📋 Готово до виконання
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user