Magic bash script для установки драйверов Nvidia и CUDA (и Docker) в Ubuntu 22.04 и 24.04

от автора

Установка драйверов для видеокарт от Nvidia с одной стороны сейчас не вызывает столько проблем, как было еще 10-15 лет назад, с другой стороны если с драйверами еще как-то народ управляется, то вот работоспособную CUDA получить могут не все. У себя в HOSTKEY мы создали специальный скрипт, который пользователь может запустить самостоятельно и получить рабочее окружение для запуска всего — от PyTorch до Stable Diffusion и Ollama с поддержкой GPU.

Что делает этот скрипт?

  1. Он обновляет систему, определяя тип видеокарты по ее DeviceID и устанавливая ядро Linux 6-й версии, которое нужно для A100/H100 серии на Ubuntu 22.04;

  2. Устанавливает рекомендованные Ubuntu драйвера на вашу видеокарту;

  3. Подключает репозитории Nvidia и устанавливает CUDA;

  4. Прописывает необходимые переменные окружения для ее работы, попутно восстанавливая пути к /bin и /usr/bin, которые вы гарантированно поломаете, если будете следовать официальной инструкции;

  5. Если у вас установлен 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-12.2/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! Вы можете выбрать сервер в дата-центре в России или в дата-центрах в Европе, США или Турции. Оплата в рублях по счету от российской компании.


ссылка на оригинал статьи https://habr.com/ru/articles/835058/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *