Some checks failed
Build and Deploy Docs / build-and-deploy (push) Has been cancelled
- Created logs/ structure (sessions, operations, incidents) - Added session-start/log/end scripts - Installed Git hooks for auto-logging commits/pushes - Added shell integration for zsh - Created CHANGELOG.md - Documented today's session (2026-01-10)
236 lines
5.3 KiB
Markdown
236 lines
5.3 KiB
Markdown
# 🚀 Інструкції: Увімкнення 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:** 📋 Готово до виконання
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|