VGPU TESLA p100 запуск одной видеокарты на несколько машин

Делимся опытом, как и какие решения применяете к своим пк. Игры, программы, виртуализация и т.д.
Ответить
KasperZzz(22)
Site Admin
Сообщения: 37
Зарегистрирован: Чт апр 04, 2024 12:01 am

VGPU TESLA p100 запуск одной видеокарты на несколько машин

Сообщение KasperZzz(22) »

Купил на алике карту tesla p100 16гб
Первое с чем столкнулся, не пк с ней вообще не включился.
Нашел инфу что нужна поддержка Resize BAR в биос мат платы.(Это современная технология появилась с 30 серией nvidia)
Подключив к такому пк сменил режим работы видеокарты с "вычислительного" на "графический"

Код: Выделить всё

nvflash64 --save backup.rom
nvflash64 --gpumode graphics
И карта стала запускаться на старой мат плате.
Далее нужно пропатчить в proxmox драйвера для nvidia linux
вот гайд как это сделать.
Зарегестрируйтесь для просмотра ссылок.
после начнет работать "делилка" видеокарты в proxmox.Это когда вы добавляете pci к вм вы дополнительно сможете выбирать параметр Тип MDev:
Там то и делится ваша карта на 2гб 6 8 и тд.
Но начинается еще один прикол, это драйвера в самом виндовсе(Nvidia доит как может корпорации)
Я нашел драйвера 537.70_dch_64bit_international.exe это не самые последние, но что нашел...

Зарегестрируйтесь для просмотра ссылок.
Зарегестрируйтесь для просмотра ссылок.
После установки и запуска игры я обнаружил, что что то не так, установив fraps я понял что всего 15 фпс.
Начал искать и действительно первые 20 минут без лицензии 15 фпс! А дальше вообще 3.
Нашел руководство по подмене лицензии для разблокирования виртуального ГПУ.

Ниже гайд по запуску своего сервера лицензирования для Virtual nvidia.

Для начала я создал в proxmox контейнер с ubuntu 1 ядро 256мб и 4гб.

Настроить и запустить контейнер с FastAPI-DLS в контейнере с Ubuntu можно следующим образом:

1. Подготовка среды
Установка Docker
Обновите пакетный менеджер и установите необходимые пакеты:

Код: Выделить всё

sudo apt-get update
sudo apt-get install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
Добавьте Docker GPG ключ:

Код: Выделить всё

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Настройте репозиторий Docker:

Код: Выделить всё

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Установите Docker Engine:

Код: Выделить всё

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Проверьте установку Docker:

Код: Выделить всё

sudo docker --version
2. Настройка рабочего каталога и генерация ключей
Создайте рабочий каталог и перейдите в него:

Код: Выделить всё

WORKING_DIR=/opt/docker/fastapi-dls/cert
sudo mkdir -p $WORKING_DIR
cd $WORKING_DIR
Создайте приватный и публичный ключ для подписи JWT:

Код: Выделить всё

sudo openssl genrsa -out instance.private.pem 2048 
sudo openssl rsa -in instance.private.pem -outform PEM -pubout -out instance.public.pem
Создайте SSL-сертификат для встроенного веб-сервера:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout webserver.key -out webserver.crt

3. Запуск контейнера для проверки
Создайте Docker volume для базы данных:

sudo docker volume create dls-db


Запустите контейнер:

Код: Выделить всё

sudo docker run -e DLS_URL=`hostname -i` -e DLS_PORT=443 -p 443:443 -v $WORKING_DIR:/app/cert -v dls-db:/app/database collinwebdesigns/fastapi-dls:latest
4. Использование Docker Compose для запуска стека

Создайте файл docker-compose.yml:

Код: Выделить всё

sudo nano /opt/docker/fastapi-dls/docker-compose.yml
Вставьте в файл следующий контент:

Код: Выделить всё

version: '3.9'

x-dls-variables: &dls-variables
  TZ: Europe/Berlin # ТУТ УКАЖИТЕ ВАШ ЧАСОВОЙ ПОЯС!!!
  DLS_URL: localhost # ТУТ УКАЖИТЕ АЙПИ ВАШЕГО КОНТЕЙНЕРА!!!
  DLS_PORT: 443
  LEASE_EXPIRE_DAYS: 90  # 90 days is maximum
  DATABASE: sqlite:////app/database/db.sqlite
  DEBUG: false

services:
  dls:
    image: collinwebdesigns/fastapi-dls:latest
    restart: always
    environment:
      <<: *dls-variables
    ports:
      - "443:443"
    volumes:
      - /opt/docker/fastapi-dls/cert:/app/cert
      - dls-db:/app/database
    logging:  # optional, for those who do not need logs
      driver: "json-file"
      options:
        max-file: 5
        max-size: 10m

volumes:
  dls-db:
Запустите стек с Docker Compose:

Код: Выделить всё

cd /opt/docker/fastapi-dls
sudo docker compose up -d
5. Проверка работы
Проверьте статус запущенных контейнеров:

Код: Выделить всё

sudo docker ps
Проверьте логи контейнера для ошибок или предупреждений:

Код: Выделить всё

sudo docker logs <container_id>
После выполнения этих шагов, FastAPI-DLS должен быть запущен и доступен по HTTPS на порту 443 вашего Docker-хоста.

Дальше нужно на виртуальной виндовс машине выполнить пару команд:

Код: Выделить всё

curl.exe --insecure -L -X GET https://ТУТ АЙПИ ВАШЕГО КОНТЕЙНЕРА С FastAPI-DLS/-/client-token -o "C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\client_configuration_token_$($(Get-Date).tostring('dd-MM-yy-hh-mm-ss')).tok"
следом

Код: Выделить всё

Restart-Service NVDisplay.ContainerLocalSystem
и проверяем через секунд 30

Код: Выделить всё

& 'nvidia-smi' -q  | Select-String "License"
должно ответить примерно так:

Код: Выделить всё

vGPU Software Licensed Product
    License Status                    : Licensed (Expiry: YYYY-M-DD hh:mm:ss GMT)
Радуемся, теперь наша виртуальная карта разблокирована!

_________________________________________________________________________________
Скажу честно) Я вам сэкономил кучу времени)
pchelajuk
Сообщения: 2
Зарегистрирован: Вт фев 11, 2025 7:53 pm
Откуда: СПБ

Re: VGPU TESLA p100 запуск одной видеокарты на несколько машин

Сообщение pchelajuk »

хороший гайд)
diplomatq
Сообщения: 3
Зарегистрирован: Пн янв 27, 2025 11:32 pm

Re: VGPU TESLA p100 запуск одной видеокарты на несколько машин

Сообщение diplomatq »

Нормально заморочился, лайк. сколько GTAV потянет интересно одновременно
Ответить