Обзор развертывания PyTorch на сервере¶
Предпосылки и предварительные требования¶
Для успешного развертывания приложения необходимо наличие сервера с операционной системой Ubuntu 22.04. Система должна быть оснащена видеокартой NVIDIA модели H100 (идентификатор 10de:2330), если требуется поддержка аппаратного ускорения.
Требуемые права доступа: - Полный доступ к системе (права root или sudo) для установки пакетов и конфигурации системы. - Доступ к интернету для загрузки пакетов CUDA, драйверов и компонентов PyTorch.
Необходимые системные компоненты: - Компилятор gcc. - Пакеты curl, wget, sudo. - Поддержка ядра Linux версии linux-generic-hwe-22.04 для видеокарт H100.
Структура файлов и каталогов¶
Конечная структура системы после развертывания включает следующие элементы:
/root/user_credentials— файл, содержащий сгенерированный пароль для учетной записи пользователя./home/user— домашняя директория пользователяuser./home/user/venv— виртуальное окружение Python./home/user/pytorch_install.sh— скрипт для установки и проверки PyTorch./home/user/pytorch.sh— скрипт для активации виртуального окружения./usr/local/cuda— директория с установленным пакетом CUDA./usr/local/cuda-12.2/lib64— библиотека CUDA версии 12.2.
Процесс установки приложения¶
Установка выполняется в несколько этапов, включая обновление системы, установку драйверов и настройку среды разработки.
- Обновление всех пакетов системы до последней версии и удаление неиспользуемых пакетов.
- Установка базовых утилит:
curl,wget,sudo. - Проверка наличия видеокарты NVIDIA H100. При обнаружении устанавливается пакет ядра
linux-generic-hwe-22.04. - Установка общих драйверов Ubuntu и рекомендуемого драйвера NVIDIA через утилиту
ubuntu-drivers. - Установка компилятора
gcc. - Установка пакета CUDA:
- Скачивание и установка ключа репозитория
cuda-keyring_1.1-1_all.deb. - Обновление списка пакетов и установка пакета
cuda. - Создание учетной записи пользователя
userс автоматической генерацией пароля. Пароль сохраняется в файле/root/user_credentials. - Добавление пользователя в группу
sudo. - Установка библиотеки
libnvinfer5-dev. - Установка интерпретатора Python 3.10, менеджера пакетов
pipи модуляvenv. - Настройка переменных окружения для CUDA в файле
~/.bashrcпользователяuser:- Добавление пути
/usr/local/cuda/binв переменнуюPATH. - Добавление пути
/usr/local/cuda-12.2/lib64в переменнуюLD_LIBRARY_PATH.
- Добавление пути
- Создание и выполнение скрипта
pytorch_install.sh, который:- Создает виртуальное окружение
venv. - Активирует окружение.
- Устанавливает пакеты
torch,torchvision,torchaudio. - Выполняет тестовый скрипт для проверки установки.
- Создает виртуальное окружение
- Перезагрузка сервера после завершения установки.
Права доступа и безопасность¶
- Пользователь
userимеет права на выполнение команд от имени суперпользователя через группуsudo. - Скрипт установки
install_script.shимеет права на выполнение для владельца (u=rwx) и чтение для остальных (g=r,o=r). - Скрипт
pytorch_install.shв домашней директории пользователя имеет права на выполнение. - Пароль пользователя генерируется случайно и хранится в защищенном файле
/root/user_credentials.
Настройки прав¶
Права на файлы и директории устанавливаются следующим образом:
/root/install_script.sh: владелецroot, праваu=rwx,g=r,o=r./home/user/pytorch_install.sh: права на выполнение (chmod +x)./home/user/pytorch.sh: права на выполнение (chmod +x).- Директория
/home/user/venv: создается с правами по умолчанию для пользователяuser.
Запуск, остановка и обновление¶
Для работы с установленным окружением PyTorch используются следующие команды:
-
Активация виртуального окружения:
-
Проверка установки PyTorch и доступности CUDA:
-
Запуск тестового скрипта внутри виртуального окружения:
-
Деактивация виртуального окружения:
Обновление компонентов системы или пересборка окружения требует повторного выполнения скрипта pytorch_install.sh после обновления пакетов через apt.