Установка драйверов для видеокарт от Nvidia с одной стороны сейчас не вызывает столько проблем, как было еще 10–15 лет назад, с другой стороны если с драйверами еще как-то народ управляется, то вот работоспособную CUDA получить могут не все. У себя в HOSTKEY мы создали специальный скрипт, который пользователь может запустить самостоятельно и получить рабочее окружение для запуска всего — от PyTorch до Stable Diffusion и Ollama с поддержкой GPU.
Что делает этот скрипт?
- Он обновляет систему, определяя тип видеокарты по ее DeviceID и устанавливая ядро Linux 6-й версии, которое нужно для A100/H100 серии на Ubuntu 22.04;
- Устанавливает рекомендованные Ubuntu драйвера на вашу видеокарту;
- Подключает репозитории Nvidia и устанавливает CUDA;
- Прописывает необходимые переменные окружения для ее работы, попутно восстанавливая пути к /bin и /usr/bin, которые вы гарантированно поломаете, если будете следовать официальной инструкции;
- Если у вас установлен Docker, то добавляет поддержку GPU в контейнеры.
Скрипт должен корректно отрабатывать на любых видеокартах старше 10xx версии и до последних моделей. Мы проверяли его у себя на GTX 1080, A4000, A5000, RTX 4090 и H100.
Сам скрипт:
#!/bin/bash
# Update and upgrade the system using apt
sudo apt update
sudo apt upgrade -y
#Check Ubuntu 22.04 and update kernel
lsb_release=$(lsb_release -a | grep "22.04")
if [[ -n "$lsb_release" ]]; then
# Check if there's a video card with Nvidia (10de) H100 model (23xx)
lspci_output=$(lspci -nnk | awk '/\[10de:23[0-9a-f]{2}\]/ {print $0}')
if [[ -n "$lspci_output" ]]; then
echo "A100 detected"
# If yes install the necessary kernel package
sudo apt install -y linux-generic-hwe-22.04
fi
# Check if there's a video card with Nvidia (10de) A100 model (20xx)
lspci_output=$(lspci -nnk | awk '/\[10de:20[0-9a-f]{2}\]/ {print $0}')
if [[ -n "$lspci_output" ]]; then
echo "A100 detected"
# If yes install the necessary kernel package
sudo apt install -y linux-generic-hwe-22.04
fi
fi
# Install Ubuntu drivers common package
sudo apt install ubuntu-drivers-common -y
recommended_driver=$(ubuntu-drivers devices | grep 'nvidia' | cut -d ',' -f 1 | grep 'recommended')
package_name=$(echo $recommended_driver | awk '{print $3}')
sudo apt install $package_name -y
# Install GCC compiler for CUDA install
sudo apt install gcc -y
# Get the release version of Ubuntu
RELEASE_VERSION=$(lsb_release -rs | sed 's/\([0-9]\+\)\.\([0-9]\+\)/\1\2/')
# Download and install CUDA package for Ubuntu
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${RELEASE_VERSION}/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
# Update and upgrade the system again to ensure all packages are installed correctly
sudo apt update
sudo apt install cuda -y
sudo apt install nvidia-cuda-toolkit -y
# Add PATH and LD_LIBRARY_PATH environment variables for CUDA in .bashrc file
echo 'export PATH="/usr/bin:/bin:$PATH/usr/local/cuda/bin\${PATH:+:\${PATH}}"' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}}' >> ~/.bashrc
source ~/.bashrc
#Installing Docker binding for Nvidia
if command -v docker &> /dev/null; then
echo "Docker is installed."
sudo apt install -y nvidia-docker2
sudo systemctl restart docker
else
echo "Docker is not installed."
fi
#Reboot the system for enable kernel modules
reboot
Сохраните его у себя в домашней директории как nvidia_install.sh, не забудьте задать через chmod +x nvidia_install.sh права на запуск и запустите через sudo nvidia_install.sh. Через 5–10 минут (в зависимости от скорости вашего интернета) вы получите работающую систему, на которой можно дальше экспериментировать с теми же нейросетями.
Закажите виртуальный или выделенный сервер с предустановленным корпоративным мессенджером Rocket.Chat! Вы можете выбрать сервер в дата-центре в России или в дата-центрах в Европе, США или Турции. Оплата в рублях по счету от российской компании.