Files
microdao-daarion/NODE1-GPU-ENABLE-INSTRUCTIONS.md

5.3 KiB
Raw Blame History

🚀 Інструкції: Увімкнення GPU для Ollama на НОДА1

Дата: 2025-01-27
GPU: NVIDIA RTX 4000 SFF Ada Generation (20GB VRAM)
Проблема: Ollama використовує CPU (1583% CPU) замість GPU
Рішення: Увімкнути GPU acceleration для Ollama


📋 Крок 1: Перевірка поточного стану

# На НОДА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:

cd /opt/microdao-daarion
ls -la docker-compose.yml

Знайти секцію ollama: та додати GPU конфігурацію:

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):

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

cd /opt/microdao-daarion

# Зупинити Ollama
docker compose stop ollama

# Перезапустити з новою конфігурацією
docker compose up -d ollama

# Перевірити статус
docker ps | grep ollama

Крок 4: Перевірити використання GPU

# Перевірити 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: Моніторинг результатів

# 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 не працює:

# Перевірити логи 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 не встановлено

    # Встановити 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

    # Оновити Docker до версії з підтримкою GPU
    docker --version
    # Потрібна версія 19.03+
    

📝 Приклад оновленого docker-compose.yml

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

🎯 Швидкий старт (одна команда)

# На НОДА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: 📋 Готово до виконання