Официальные страницы
- CUDA: https://developer.nvidia.com/cuda-toolkit
- Архив CUDA: https://developer.nvidia.com/cuda-toolkit-archive
- Установить CUDA: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#runfile
- cuDNN: https://developer.nvidia.com/cudnn
- Установить cuDNN: https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#installlinux-tar
- TensorRT: https://developer.nvidia.com/tensorrt-getting-started
- Установить TensorRT: https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-tar
Предварительные условия
Проверьте текущую спецификацию системы Linux
- Проверьте наличие графического процессора NVIDIA:
## Use lshw:
lshw -C display
# Only for Ubuntu/Debian:
sudo apt-get update --fix-missing -o Acquire::CompressionTypes::Order::=gz
sudo apt-get install -y pciutils mesa-utils
# Or use lspci:
lspci | grep -i vga && lspci | grep -i nvidia
# Or use glxinfo:
glxinfo | egrep "OpenGL vendor|OpenGL renderer"
- Проверьте информацию об ОС linux:
## Check linux OS version and distro:
uname -a && cat /etc/*release
## Check kernel version:
uname -r
# Or:
hostnamectl
## Check GCC and make compiler version:
gcc --version && make -v
## Check glibc version:
ldd --version
Проверьте совместимость версий CUDA
- [ВАЖНО] Найдите и проверьте последнюю стабильную версию драйвера NVIDIA для вашей модели (моделей) GPU:
- Загрузка драйверов NVIDIA: https://www.nvidia.com/Download/Find.aspx?lang=en-us
- [ВАЖНО] Проверьте совместимость версии драйвера NVIDIA с версиями CUDA:
- CUDA release note: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
- PDF о совместимости с CUDA: https://docs.nvidia.com/pdf/CUDA_Compatibility.pdf
- Совместимость CUDA: https://docs.nvidia.com/deploy/cuda-compatibility/#minor-version-compatibility
- [ВАЖНО] Проверьте системные требования для версий CUDA:
- CUDA последней версии: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements
- Архив старых версий CUDA: https://developer.nvidia.com/cuda-toolkit-archive
- [РЕКОМЕНДУЕТСЯ] Проверьте вычислительные возможности вашей модели (моделей) GPU:
- Вычислительные возможности GPU: https://developer.nvidia.com/cuda-gpus
- CUDA Wikipedia: https://en.wikipedia.org/wiki/CUDA
- [РЕКОМЕНДУЕТСЯ] Проверьте версию cuDNN с вычислительными возможностями вашей модели(ей) GPU:
- cuDNN support matrix: https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html
- [OPTIONAL] Проверьте совместимость версий TensorRT с версиями CUDA и cuDNN:
- TensorRT последней версии: https://docs.nvidia.com/deeplearning/tensorrt/support-matrix/index.html
- Архивы старых версий TensorRT: https://docs.nvidia.com/deeplearning/tensorrt/archives/index.html
- [РЕКОМЕНДУЕТСЯ] Проверьте совместимость версий CUDA для необходимых фреймворков/библиотек машинного обучения/глубокого обучения, которые вы хотите использовать:
- Tensorflow-gpu: https://www.tensorflow.org/install/source#gpu
- Pytorch: https://pytorch.org/get-started/previous-versions
- И т.д…
Установите драйвер NVIDIA GPU
- [REQUIRED] Установите драйвер NVIDIA GPU Driver: https://github.com/bybatkhuu/wiki/blob/main/posts/manuals/installs/nvidia-driver-linux.md.
Установите набор инструментов CUDA
Скачать CUDA
- ВАЖНО! Скачайте и используйте файл .RUN! Он может предотвратить установку несовместимых драйверов NVIDIA и предотвратить перезапись предыдущей символической ссылки /usr/local/cuda (если вы уже установили другую CUDA).
- ВАЖНО! Не загружайте и не используйте файл .DEB! Он перезапишет текущий каталог CUDA по умолчанию (если вы уже установили его) (/usr/local/cuda), а также перезапишет уже установленную последнюю совместимую версию драйвера NVIDIA на старый или несовместимый драйвер. Более того, если вы хотите использовать другую версию CUDA, никогда не устанавливайте файл CUDA.DEB!
- Найдите и скачайте установочный файл нужной версии CUDA (cuda_***_linux.run) по этой ссылке: https://developer.nvidia.com/cuda-toolkit-archive.
- Если вы используете интерфейс командной строки, просто скопируйте ссылку на скачивание с сайта NVIDIA и используйте wget для загрузки. Например:
mkdir -v ~/Downloads
cd ~/Downloads
# 1. (Skip this, if you've already downloaded) Download CUDA .run installer file by wget:
wget https://developer.download.nvidia.com/compute/cuda/[CUDA_VERSION]/local_installers/cuda_[CUDA_VERSION]_[DRIVER_VERSION]_linux.run
# For example:
wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run
Установите файл CUDA.run
При установке CUDA.run выполните следующие действия:
- Введите ‘accept’ и ENTER.
- ВАЖНО! Снимите галочку и отключите установку драйвера NVIDIA, чтобы предотвратить перезапись уже установленной последней совместимой версии драйвера NVIDIA на старый или несовместимый драйвер.
- ВАЖНО! Снимите флажок и отключите установку символической ссылки CUDA, чтобы предотвратить перезапись текущего каталога CUDA по умолчанию (если он уже установлен) (/usr/local/cuda).
- Выберите install и нажмите!
# Change directory to cuda_***.run file downloaded directory. For example:
cd ~/Downloads
# 2. IMPORTANT! Install cuda_***.run file:
sudo sh cuda_[CUDA_VERSION]_[DRIVER_VERSION]_linux.run
# For example:
sudo sh cuda_11.0.3_450.51.06_linux.run
# 3. Remove downloaded file:
rm -vrf cuda_[CUDA_VERSION]_[DRIVER_VERSION]_linux.run
# For example:
rm -vrf cuda_11.0.3_450.51.06_linux.run
После установки
Отредактируйте файл ~/.bashrc
:
# 4. Add CUDA environment variables to current user .bashrc file:
# (It loads environment variables, whenever current user opens a new bash session/new terminal)
nano ~/.bashrc
и добавьте следующие строки в файл ~/.bashrc
(не забудьте изменить [CUDA_VERSION] на установленную версию):
## CUDA ##
# Change to installed CUDA version:
# export CUDA_VERSION=[CUDA_VERSION]
export CUDA_VERSION=11.0
export CUDA_HOME="/usr/local/cuda-${CUDA_VERSION}"
export CUDA_PATH="${CUDA_HOME}"
export PATH="${CUDA_PATH}/bin:${PATH}"
export LIBRARY_PATH="${CUDA_PATH}/lib64:${LIBRARY_PATH}"
export LD_LIBRARY_PATH="${CUDA_PATH}/lib64:${LD_LIBRARY_PATH}"
export LD_LIBRARY_PATH="${CUDA_PATH}/extras/CUPTI/lib64:${LD_LIBRARY_PATH}"
export NVCC="${CUDA_PATH}/bin/nvcc"
export CFLAGS="-I${CUDA_PATH}/include ${CFLAGS}"
сохраните изменения и выйдите из редактора файлов.
# 5. Load .bashrc file to init environment variables into the current bash session:
source ~/.bashrc
# 6. Check CUDA compiler version:
nvcc -V
# Or:
cat ${CUDA_PATH}/version.txt
# Or:
cat ${CUDA_PATH}/version.json
[РЕКОМЕНДУЕТСЯ] Установите cuDNN (для глубокого обучения)
Скачать cuDNN
- ВАЖНО! Скачайте и используйте файл .TGZ или .TAR.XZ! Вы можете установить cuDNN в пользовательский каталог, что означает, что вы можете контролировать, какую версию cuDNN вы хотите использовать и куда ее установить.
- ВАЖНО! Не скачивайте и не используйте файл .DEB! Он перезапишет библиотеку cuDNN в текущий каталог CUDA по умолчанию (/usr/local/cuda).
- Скачайте файл cuDNN .TGZ или .TAR.XZ по этой ссылке: https://developer.nvidia.com/rdp/cudnn-download.
Установите файлы пакетов cuDNN .tgz или .tar.xz
# Change directory to cudnn_***.tgz or .tar.xz file downloaded directory. For example:
cd ~/Downloads
## Extract cuDNN .tgz or .tar.xz package file:
# New versions:
tar -xf cudnn-linux-x86_64-[CUDNN_VERSION]_cuda[CUDA_VERSION]-archive.tar.xz
# For example:
tar -xf cudnn-linux-x86_64-8.3.1.22_cuda11.5-archive.tar.xz
# Or older versions:
tar -xzf cudnn-[CUDA_VERSION]-linux-x64-v[CUDNN_VERSION].tgz
# For example:
tar -xzf cudnn-11.0-linux-x64-v8.0.5.39.tgz
# Copy extracted files into specific CUDA directory:
sudo cp -v cud*/include/cudnn*.h /usr/local/cuda-${CUDA_VERSION}/include
sudo cp -v cud*/lib*/libcudnn* /usr/local/cuda-${CUDA_VERSION}/lib64
# Add read permissions to extracted files:
sudo chmod a+r /usr/local/cuda-${CUDA_VERSION}/include/cudnn*.h /usr/local/cuda-${CUDA_VERSION}/lib64/libcudnn*
# Remove downloaded files:
rm -rf cud*
# Check installed cuDNN version:
cat /usr/local/cuda-${CUDA_VERSION}/include/cudnn.h | grep CUDNN_MAJOR -A 2
# Or:
cat /usr/local/cuda-${CUDA_VERSION}/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
# cuDNN installation complete!
[ВАРИАНТ] Установите TensorRT
Скачать TensorRT
- ВАЖНО! Скачайте и используйте файл .TAR.GZ! Вы можете установить TensorRT в пользовательский каталог, что означает, что вы можете контролировать, какую версию TensorRT вы хотите использовать и куда ее устанавливать.
- ВАЖНО! Не скачивайте и не используйте файл .DEB! Вы не можете контролировать библиотеки TensorRT.
- Скачайте файл cuDNN .TAR.GZ по этой ссылке: https://developer.nvidia.com/nvidia-tensorrt-download.
Установите файлы пакета TensorRT .tar.gz
# Change directory to TensorRT-***.tar.gz file downloaded directory. For example:
cd ~/Downloads
# Extract TensorRT .tar.gz package file:
tar -xzf TensorRT-[TENSORRT_VERSION].[OS_DISTRO].x86_64-gnu.cuda-[CUDA_VERSION].cudnn[CUDNN_VERSION].tar.gz
# For example:
tar -xzf TensorRT-7.2.0.14.Ubuntu-18.04.x86_64-gnu.cuda-11.0.cudnn8.0.tar.gz
# Create TensorRT base directory:
sudo mkdir -vp /opt/tensorrt
# Copy extracted files into TensorRT directory:
sudo mv -vf TensorRT-[TENSORRT_VERSION] /opt/tensorrt/TensorRT-[TENSORRT_VERSION]
# For example:
sudo mv -vf TensorRT-7.2.0.14 /opt/tensorrt/TensorRT-7.2.0.14
# Remove downloaded file:
rm -vrf TensorRT-[TENSORRT_VERSION].[OS_DISTRO].x86_64-gnu.cuda-[CUDA_VERSION].cudnn[CUDNN_VERSION].tar.gz
# For example:
rm -vrf TensorRT-7.2.0.14.Ubuntu-18.04.x86_64-gnu.cuda-11.0.cudnn8.0.tar.gz
Отредактируйте файл ~/.bashrc
:
# Add TensorRT environment variables into current user .bashrc file:
# (It loads environment variables, whenever current user opens a new bash session/new terminal)
nano ~/.bashrc
и добавьте следующие строки в файл ~/.bashrc
(не забудьте изменить [TENSORRT_VERSION] на установленную версию):
## TensorRT ##
# Change to your installed TensorRT version:
# export TENSORRT_VERSION=[TENSORRT_VERSION]
export TENSORRT_VERSION=7.2.0.14
export TENSORRT_PATH="/opt/tensorrt/TensorRT-${TENSORRT_VERSION}"
export PATH="${TENSORRT_VERSION}/bin:${PATH}"
export LD_LIBRARY_PATH="${TENSORRT_PATH}/lib:${LD_LIBRARY_PATH}"
сохраните изменения и выйдите из редактора файлов.
# Load .bashrc file to init environment variables into current bash session:
source ~/.bashrc
# (Only for Python) Install TensorRT python packages:
cd ${TENSORRT_PATH}/python
pip install tensorrt-[TENSORRT_VERSION]-cp[PYTHON_VERSION]-none-linux_x86_64.whl
# For example:
pip install tensorrt-7.2.0.14-cp38-none-linux_x86_64.whl
cd ${TENSORRT_PATH}/uff
pip install uff-*-py2.py3-none-any.whl
cd ${TENSORRT_PATH}/graphsurgeon
pip install graphsurgeon-*-py2.py3-none-any.whl
cd ${TENSORRT_PATH}/onnx_graphsurgeon
pip install onnx_graphsurgeon-*-py2.py3-none-any.whl
# TensorRT installation complete!
Тестирование CUDA
# Install sample source codes to test CUDA:
cuda-install-samples-[CUDA_VERSION].sh ~
# For example:
cuda-install-samples-11.0.sh ~
# Change directory to CUDA sample source codes installed directory:
cd ~/NVIDIA_CUDA-[CUDA_VERSION]_Samples
# For example:
cd ~/NVIDIA_CUDA-11.0_Samples
# Build sample source codes:
make clean && make -j8
# Change directory to built binary directory:
cd bin/x86_64/linux/release
# Run CUDA test binaries:
./deviceQuery
./bandwidthTest
cd ~
# Remove sample source codes:
rm -rf ~/NVIDIA_CUDA-[CUDA_VERSION]_Samples
# For example:
rm -rf ~/NVIDIA_CUDA-11.0_Samples
? ✨
УСТАНОВКА ЗАВЕРШЕНА