Я надеюсь, что эта статья будет полезна тем, кто хочет подготовить свой компьютер с Ubuntu 20.04 для запуска Tensorflow 2.0 с поддержкой графического процессора. Я пройду каждый шаг, чтобы подготовить машину с нуля. Давайте начнем..

Шаг 1. Установка драйвера NVIDIA в Ubuntu

Действия перед установкой

Перед установкой набора инструментов и драйвера CUDA в Linux необходимо выполнить некоторые действия:

  • Убедитесь, что в системе есть графический процессор с поддержкой CUDA.
  • Убедитесь, что в системе установлена ​​поддерживаемая версия Linux.
  • Убедитесь, что в системе установлен gcc.
  • Убедитесь, что в системе установлены правильные заголовки ядра и пакеты разработки.
  • Загрузите набор инструментов NVIDIA CUDA.
  • Обработка конфликтующих методов установки.

1.1. Убедитесь, что у вас есть графический процессор с поддержкой CUDA

lspci | grep -i nvidia

Если вы не видите никаких настроек, обновите базу данных оборудования PCI, поддерживаемую Linux, введя update-pciids (обычно находится в /sbin) в командной строке и повторно запустите предыдущую команду lspci.

Если ваша видеокарта от NVIDIA и она указана на https://developer.nvidia.com/cuda-gpus, ваш GPU поддерживает CUDA.

1.2. Убедитесь, что у вас есть поддерживаемая версия Linux

Инструменты разработки CUDA поддерживаются только в некоторых конкретных дистрибутивах Linux. Они перечислены в примечаниях к выпуску CUDA Toolkit.

Чтобы определить, какой дистрибутив и номер выпуска вы используете, введите в командной строке следующее:

uname -m && cat /etc/*release

1.3. Убедитесь, что в системе установлен gcc

Компилятор gcc необходим для разработки с использованием CUDA Toolkit. Это не требуется для запуска приложений CUDA. Обычно он устанавливается как часть установки Linux, и в большинстве случаев версия gcc, установленная с поддерживаемой версией Linux, будет работать правильно.

Чтобы проверить версию gcc, установленную в вашей системе, введите в командной строке следующее:

gcc --version

Если отображается сообщение об ошибке, вам необходимо установить инструменты разработки из вашего дистрибутива Linux или получить версию gcc и сопутствующую цепочку инструментов из Интернета.

1.4. Убедитесь, что в системе установлены правильные заголовки ядра и пакеты разработки

Версию ядра, на которой работает ваша система, можно узнать, выполнив следующую команду:

uname -r

2. Установите драйвер Nvidia через командную строку.

2.1: Поиск драйверов Nvidia

$ apt search nvidia-driver

выберите последнюю версию драйвера для установки вот он: nvidia-driver-465

2.2 Обновите репозиторий системных пакетов

Перед установкой драйвера обязательно обновите репозиторий пакетов. Выполните следующие команды:

$ sudo apt update
$ sudo apt upgrade

2.3 Установите правильный драйвер для вашего графического процессора

Синтаксис установки драйвера следующий:

sudo apt install [driver_name]
$ sudo apt install nvidia-driver-465

2.4 Перезагрузка

Перезагрузите компьютер с помощью следующей команды:

$ sudo reboot

2.5 Проверка установки

$ nvidia-smi

3. Настройка Докера

Docker-CE в Ubuntu можно настроить с помощью официального удобного скрипта Docker:

$ curl https://get.docker.com | sh \
  && sudo systemctl --now enable docker

4. Настройка NVIDIA Container Toolkit

Настройте репозиторий stable и ключ GPG:

$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

Установите пакет nvidia-docker2 (и зависимости) после обновления списка пакетов:

$ sudo apt-get update
$ sudo apt-get install -y nvidia-docker2

Перезапустите демон Docker, чтобы завершить установку после установки среды выполнения по умолчанию:

$ sudo systemctl restart docker

На этом этапе рабочую настройку можно протестировать, запустив базовый контейнер CUDA:

$ sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

Поздравляем 👏 Если вы дошли до этого места, значит, вы готовы использовать свой док-контейнер.