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

Требования к установке

На этой странице описаны требования к программному обеспечению и сети для узлов, на которых работает GPUStack.

Требования к операционной системе

GPUStack поддерживает большинство современных дистрибутивов Linux на архитектурах AMD64 и ARM64.

Примечание

  • Установка GPUStack напрямую через PyPI не поддерживается. Для лучшей совместимости используйте предоставленные образы Docker.
  • Пакет Network Time Protocol (NTP) должен быть установлен для обеспечения согласованной синхронизации состояний между узлами.

Требования к базе данных

Сервер GPUStack сохраняет свое состояние в базе данных SQL. Образ серверного контейнера включает в себя встроенную базу данных PostgreSQL, которая работает «из коробки» без какой-либо настройки.

Альтернативно вы можете использовать внешнюю базу данных, установив аргумент --database-url (или переменную среды GPUSTACK_DATABASE_URL). Совместимы следующие базы данных:

База данных Проверенные версии Формат URL-адреса базы данных
PostgreSQL 13.0+ postgresql://username:password@host:port/dbname
MySQL 8.0.36+ mysql://username:password@host:port/dbname
openGauss v6.0.5, v7.0.0-RC3 postgresql://username:password@host:port/dbname
OceanBase CE-v4.3.5 mysql://username:password@host:port/dbname

Примечание

openGauss совместим с PostgreSQL, а OceanBase совместим с MySQL, поэтому они используют схемы URL-адресов postgresql:// и mysql:// соответственно.

Примеры конфигурации см. в разделе Использование внешней базы данных.

Требования к среде выполнения ускорителя

GPUStack поддерживает различные ускорители общего назначения в качестве механизмов вывода, в том числе:

  • Графический процессор NVIDIA
  • Графический процессор AMD
  • Ascend NPU
  • Хайгон DCU
  • Графический процессор MetaX
  • Графический процессор MThreads (экспериментальный)
  • Графический процессор Илуватара (экспериментальный)
  • Cambricon MLU (экспериментальный)
  • T-Head PPU (экспериментальный)

Перед запуском GPUStack убедитесь, что все необходимые драйверы и наборы инструментов установлены.

Графический процессор NVIDIA

Требования

Узлы графического процессора Kubernetes

Если графические процессоры предоставляются узлами Kubernetes, установите драйвер и набор инструментов на каждый узел, как указано выше, или позвольте Оператору NVIDIA GPU управлять ими. Если оператор NVIDIA GPU уже установлен, отключите его плагин устройства, обнаружение функций графического процессора, обнаружение функций узла, диспетчер MIG и компоненты CDI, которые конфликтуют с управлением устройствами GPUStack. Подробности см. в разделе Требования к поставщику.

Для проверки выполните следующие команды:

1
2
3
4
5
6
sudo nvidia-smi

# If using Docker
sudo docker info 2>/dev/null | grep -q "nvidia" \
    && echo "NVIDIA Container Toolkit OK" \
    || (echo "NVIDIA Container Toolkit not configured"; exit 1)

Поддерживаемые серверы вывода

Графический процессор AMD

Требования

Узлы графического процессора Kubernetes

Если графические процессоры предоставляются узлами Kubernetes, установите драйвер на каждый узел, как указано выше, или позвольте оператору графического процессора AMD управлять им. Если AMD GPU Оператор уже установлен, отключите его плагин устройства, метку узлов, встроенные компоненты Node Feature Discovery и Kernel Module Management, которые конфликтуют с управлением устройствами GPUStack. Подробности см. в разделе Требования к поставщику.

Для проверки выполните следующие команды:

1
2
3
4
5
6
sudo amd-smi static

# If using Docker
sudo docker info 2>/dev/null | grep -q "amd" \
    && echo "AMD Container Toolkit OK" \
    || (echo "AMD Container Toolkit not configured"; exit 1)

Поддерживаемые серверы вывода

  • vLLM
  • SGLang (требуются графические процессоры серии gfx9)
  • Пользовательский

Ascend NPU

Требования

Для проверки выполните следующие команды:

1
2
3
4
5
6
sudo npu-smi info

# If using Docker
sudo docker info 2>/dev/null | grep -q "ascend" \
    && echo "Ascend Container Toolkit OK" \
    || (echo "Ascend Container Toolkit not configured"; exit 1)

Поддерживаемые устройства

  • Серия Ascend NPU 910C
  • Серия Ascend NPU 910B (910B1 ~ 910B4)
  • Восхождение NPU 310P3

Поддерживаемые серверы вывода

Хайгон DCU

Требования

Узлы графического процессора Kubernetes

Если DCU предоставляются узлами Kubernetes, установите драйвер и набор инструментов на каждом узле, как указано выше, или позвольте Оператору Hygon DCU управлять ими. Если оператор Hygon DCU уже установлен, отключите его плагин устройства и компоненты метки узлов, которые конфликтуют с управлением устройствами GPUStack. Подробности см. в разделе Требования к поставщику.

Для проверки выполните следующие команды:

sudo hy-smi

Поддерживаемые устройства

  • Блоки DCU Hygon

Поддерживаемые серверы вывода

  • vLLM
  • Пользовательский

Графический процессор MetaX

Требования

Узлы графического процессора Kubernetes

Если графические процессоры предоставляются узлами Kubernetes, установите драйвер и SDK на каждый узел, как указано выше, или позвольте Оператору графического процессора MetaX управлять ими. Плагин устройства оператора MetaX GPU нельзя отключить, поэтому, если оператор уже установлен, удалите его, оставив драйвер и SDK на узле, прежде чем добавлять узлы в GPUStack. Подробности см. в разделе Требования к поставщику.

Для проверки выполните следующие команды:

sudo mx-smi

Поддерживаемые серверы вывода

Графический процессор MThreads

Требования

Узлы графического процессора Kubernetes

Если графические процессоры предоставляются узлами Kubernetes, установите драйвер и набор инструментов на каждый узел, как указано выше, или позвольте MT GPU Оператор управлять ими. Плагин устройства оператора MT GPU нельзя отключить в режиме full по умолчанию, поэтому, если оператор уже установлен, переключитесь в режим core без плагина устройства или удалите оператор, оставив драйвер и набор инструментов на узле, прежде чем добавлять узлы в GPUStack. Подробности см. в разделе Требования к поставщику.

Для проверки выполните следующие команды:

1
2
3
4
5
6
sudo mthreads-gmi

# If using Docker
sudo docker info 2>/dev/null | grep -q "mthreads" \
    && echo "MThreads Container Toolkit OK" \
    || (echo "MThreads Container Toolkit not configured"; exit 1)

Поддерживаемые серверы вывода

Графический процессор Илуватара

Требования

Узлы графического процессора Kubernetes

Если графические процессоры предоставляются узлами Kubernetes, установите драйвер и набор инструментов на каждый узел, как указано выше, или позвольте ix-GPU-Operator управлять ими. Если ix-GPU-Operator уже установлен, отключите его плагин устройства и компоненты обнаружения функций, которые конфликтуют с управлением устройствами GPUStack. Подробности см. в разделе Требования к поставщику.

Для проверки выполните следующие команды:

1
2
3
4
5
6
sudo ixsmi

# If using Docker
sudo docker info 2>/dev/null | grep -q "iluvatar" \
    && echo "Iluvatar Container Toolkit OK" \
    || (echo "Iluvatar Container Toolkit not configured"; exit 1)

Поддерживаемые серверы вывода

  • vLLM
  • Пользовательский

Камбрикон MLU

Требования

  • Драйвер Cambricon MLU
  • Набор инструментов Cambricon NeuWare

Для проверки выполните следующие команды:

sudo cnmon

Поддерживаемые серверы вывода

  • Пользовательский

T-Head PPU

Требования

  • Драйвер T-Head PPU
  • SDK T-Head PPU

Для проверки выполните следующие команды:

sudo ppu-smi

Поддерживаемые серверы вывода

Требования к сети

Требования к подключению

Для правильной работы GPUStack требуется следующее сетевое подключение:

Сервер-рабочий: Сервер должен иметь возможность обращаться к работникам для выполнения запросов на вывод прокси.

От рабочего к серверу: Рабочие должны иметь возможность подключаться к серверу для регистрации и отправки обновлений.

От рабочего к рабочему: Требуется для распределенного вывода между несколькими рабочими процессами.

Требования к порту

GPUStack использует эти порты для связи:

Серверные порты

Порт Описание
TCP 80 Порт по умолчанию для GPUStack конечных точек пользовательского интерфейса и API.
TCP 443 Порт по умолчанию для GPUStack конечных точек пользовательского интерфейса и API (TLS включен)
TCP 10161 Порт по умолчанию для конечной точки метрик сервера.
TCP 30080 Порт по умолчанию для внутреннего API сервера GPUStack.
TCP 5432 Порт по умолчанию для встроенной базы данных Postgres.

Рабочие порты

Порт Описание
TCP 10150 Порт по умолчанию для работника GPUStack
TCP 10151 Порт по умолчанию для конечной точки рабочих метрик.
TCP 40000-40063 Диапазон портов для служб вывода
TCP 41000-41999 Диапазон портов для служб Ray (vLLM с использованием распределенного развертывания)
Распределенная vLLM с портами Ray

При использовании распределенной vLLM GPUStack анализирует указанный выше диапазон портов для служб Ray и назначает их в следующем порядке:

  1. Порт сервера GCS (первый порт диапазона)
  2. Порт клиента-сервера (зарезервирован для совместимости, больше не используется, см. https://github.com/gpustack/gpustack/issues/4171)
  3. Порт приборной панели
  4. Порт gRPC Dashboard (больше не используется, начиная с Ray 2.45.0, сохранен для обратной совместимости)
  5. Порт gRPC агента информационной панели
  6. Порт прослушивания агента информационной панели
  7. Порт экспорта метрик
  8. Порт диспетчера узлов
  9. Порт диспетчера объектов
  10. Порт агента среды выполнения Raylet
  11. Минимальный номер порта для работника.
  12. Максимальный номер порта для работника (последний порт диапазона)

Более подробную информацию о портах Ray см. в документации Ray.

Порты встроенного шлюза

Встроенный шлюз для сервера и работника использует следующие порты для внутренней связи.

Порт Хост Описание
TCP 18443 127.0.0.1 Порт для файлового API-сервера, обслуживающего через HTTPS.
TCP 15000 127.0.0.1 Порт управления шлюзом Envoy.
TCP 15021 0.0.0.0 Порт проверки работоспособности шлюза Envoy.
TCP 15090 0.0.0.0 Порт метрики для шлюза Envoy.
TCP 9876 127.0.0.1 Порт интроспекции для Пилота-дискавери
TCP 15010 127.0.0.1 Порт для пилотного обнаружения, обслуживающего XDS через HTTP/gRPC.
TCP 15012 127.0.0.1 Порт для Pilot-discovery, обслуживающего XDS через безопасный gRPC.
TCP 15020 0.0.0.0 Порт метрики для Pilot-агента
TCP 8888 127.0.0.1 Порт для контроллера, обслуживающего XDS через HTTP.
TCP 15051 127.0.0.1 Порт для контроллера, обслуживающего XDS через gRPC.