Перейти к содержанию

GpuGo Agent

Интеллектуальный агент для подключения к GpuGo

Требования

  • Ubuntu 22.04 LTS или 24.04 LTS
  • Широкополосный интернет
  • NVIDIA GPU с установленными драйверами

Установка зависимостей

Установка Python

sudo apt update
sudo apt install -y git
wget -qO- https://astral.sh/uv/install.sh | sudo sh
wget -qO- https://astral.sh/uv/install.sh | sh

Установка Docker

Рекомендуемый способ — через официальный репозиторий Docker. https://docs.docker.com/engine/install/ubuntu (здесь можно ознакомиться с инструкцией подробнее)

  1. Удалить старые пакеты (если были):
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
  1. Установка зависимостей:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
  1. Установка Docker Engine:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. Запуск и доступ без sudo:
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
newgrp docker
  1. Проверка:
docker --version
docker run --rm hello-world

Если Вы получили вывод "Hello from Docker! ...", значит установка прошла успешно.

NVIDIA Cuda Toolkit

Требуется перейти по ссылке и выбрать подходящие параметры для скачивания.

https://developer.nvidia.com/cuda-downloads

Operating System: Linux Architecture: x86_64 Distribution: Ubuntu Version: 22.04 или 24.04 Installer Type: deb (local)

NVIDIA Container Toolkit

Примечание: на Ubuntu 24.04 официальный список NVIDIA для libnvidia-container может отсутствовать. Используйте список для Ubuntu 22.04 (jammy) — он совместим с 24.04.

# 1) Ключ
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /usr/share/keyrings
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
  sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit.gpg

# 2) Репозиторий (jammy, совместим с 24.04)
distribution=ubuntu22.04
curl -fsSL https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
  sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit.gpg] https://#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# 3) Установка и настройка
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker || true
sudo systemctl restart docker

Если nvidia-ctk недоступен, добавьте runtime вручную:

sudo tee /etc/docker/daemon.json >/dev/null <<'JSON'
{
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}
JSON
sudo systemctl restart docker

Установка драйверов NVIDIA (если не установлены):

sudo ubuntu-drivers autoinstall
sudo reboot

Проверка GPU в контейнере:

# Современный способ
docker run --rm --gpus all nvidia/cuda:12.6.2-base-ubuntu24.04 nvidia-smi

# Способ, совместимый с --runtime=nvidia
docker run --rm --runtime=nvidia nvidia/cuda:12.6.2-base-ubuntu24.04 nvidia-smi

# Если 24.04 тег недоступен, используйте 22.04
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi

Скачивание репозитория

  1. Клонирование репозитория
git clone https://github.com/Machine-learning-systems/agent.git
  1. Переход в директорию проекта
cd agent

Запуск ТЕСТОВЫЙ (не обязательный)

Запуск (должен быть установлен uv из шага "Установка зависимостей > Установка Python")

uv run agent.py <YOUR_SECRET_KEY>

Запуск ПРОДАКШН

Для продакшн нужно использовать скрипт agent-manager.sh

Для начала нужно разрешить его выполнение:

chmod +x agent-manager.sh

Варианты использования:

# Установка(эта же команда сразу запускает его, не рекомендуется выполнять больше одного раза)
./agent-manager.sh install <YOUR_SECRET_KEY>

# Запуск агента
./agent-manager.sh start

# Остановка агента
./agent-manager.sh stop

# Проверка статуса агента
./agent-manager.sh status

# Удаление агента (остановит и удалит службу)
./agent-manager.sh uninstall

# Просмотр логов агента
./agent-manager.sh logs

Репозиторий: https://github.com/Machine-learning-systems/agent