Как я могу установить CUDA 9 на Ubuntu 17.10?

41

Ubuntu 17.10 поставляется с CUDA 8, которая использует Clang 3.8 (например, см. Этот пост ).

Однако я хотел бы установить CUDA 9 и полагаться на GCC, если это возможно. Как я могу это сделать?

B0rk4
источник

Ответы:

57

Установка драйвера NVIDIA 384

Сначала мы устанавливаем свежую Ubuntu 17.10 на компьютер с графическим процессором NVIDIA и выбираем «Установить стороннее программное обеспечение» во время процесса. В качестве альтернативы, мы можем добавить хранилище графических драйверов вручную:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

Затем мы устанавливаем самый последний драйвер NVIDIA, используя apt:

sudo apt install nvidia-384 nvidia-384-dev

Мы проверяем установку, запустив:

nvidia-smi

Мы должны увидеть вывод, в котором перечислены драйвер NVIDIA 384 и наш дискретный графический процессор NVIDIA - аналогично приведенной ниже сводной таблице:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.90                 Driver Version: 384.90                    |
|                                                                             |
|-------------------------------+----------------------+----------------------+
|   0  Quadro M500M        Off  | 00000000:06:00.0 Off |                  N/A |
| N/A   48C    P0    N/A /  N/A |    943MiB /  2002MiB |     26%      Default |
+-------------------------------+----------------------+----------------------+

Подготовка к установке CUDA 9 + SDK

Мы устанавливаем несколько пакетов build / dev, которые нам потребуются позже:

sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev

Мы замечаем, что версия gcc / g ++ по умолчанию на 17.10 7.2.0 (Ubuntu 7.2.0-8ubuntu3) :

gcc -v

CUDA 9 требует gcc 6. Таким образом, мы устанавливаем его:

sudo apt install gcc-6
sudo apt install g++-6

Обратите внимание, что версия gcc по умолчанию все еще 7.2; можно проверить, запустив gcc -vснова.

Установка CUDA 9 + SDK

В CUDA Toolkit Archive выберите один из пакетов установки "runfile (local)", чтобы загрузить версию CUDA 9, например

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

Сделайте загруженный файл исполняемым и запустите его с помощью sudo:

chmod +x cuda_9.0.176_384.81_linux-run 
sudo ./cuda_9.0.176_384.81_linux-run --override

Мы устанавливаем CUDA со следующими конфигурациями:

You are attempting to install on an unsupported configuration. Do you wish to continue?
y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
n
Install the CUDA 9.0 Toolkit?
y
Enter Toolkit Location
[default location]
Do you want to install a symbolic link at /usr/local/cuda?
y
Install the CUDA 9.0 Samples?
y
Enter CUDA Samples Location
[default location]

Установите символические ссылки для gcc / g ++:

sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++

Проверьте установку CUDA 9 с помощью SDK

Создайте свой любимый образец CUDA и запустите его:

cd ~/NVIDIA_CUDA-9.0_Samples/5_Simulations/smokeParticles
make
../../bin/x86_64/linux/release/smokeParticles 

Вы можете настроить символические ссылки gcc / g ++ после установки cuda.

B0rk4
источник
1
Застрял в этом вопросе на некоторое время. Запуск 17.10, попытка установить CUDA 9. У меня проблема на шаге 2: nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Ран lspci | grep -i nvidiaговорит, что у меня GeForce GTX 760. mokutil --sb-stateПоказывает отключенную SecureBoot. Запустил sudo apt-get purge nvidia*, выполнил команду установки для 384 и запустил dpkg -S nvidia-sminvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Какие-либо предложения?
Кларк Кент,
4
Я должен был сделать либо, sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-9.0/bin/gcc sudo ln -s /usr/bin/g++-6 /usr/local/cuda-9.0/bin/g++либо sudo ./cuda_9.0.176_384.81_linux-run --overrideкак автор ниже рекомендует установить успешно без конфликта компилятора
y.selivonchyk
11
две команды для добавления символических ссылок для компиляторов gcc 6 должны быть выполнены после установки cuda, потому что / usr / local / cuda не существует до установки
Luis Lobo
1
Помощник много! Единственное, что я сделал по-другому - создал символические ссылки после установки cuda в самом конце.
QtRoS
1
До запуска cuda_9.0.176_384.81_linux.run, как вы создали софт-ссылки ( ln -s)? Вы вручную создали папку cuda?
Махмуд
5

Установка этой программы заняла больше времени, чем мне хотелось бы признать, и хотя приведенный выше ответ является хорошим шаблоном, для моей новой установки Ubuntu 17.10 потребовалось выполнить несколько дополнительных шагов:

черный список нуво

sudo vim /etc/modprobe.d/blacklist.conf

Добавьте следующее:

# this one might not be required for x86 32 bit users.
blacklist amd76x_edac 

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Обновить диск initramfs

sudo update-initramfs -u

Стоп гдм3

sudo /etc/init.d/gdm3 stop

sudo init 3

Получить контент

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-384 nvidia-384-dev
sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev

nvidia-smi

Получить пакет

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

Запустите с параметром --override, чтобы переопределить выбор компилятора.

chmod +x cuda_9.0.176_384.81_linux-run 
sudo ./cuda_9.0.176_384.81_linux-run --override

После установки пакета я получаю ошибки с nvidia-smi, поэтому я предлагаю снова запустить команду, чтобы убедиться, что она работает. Когда у меня возникали проблемы, я чистил nvidia * и получал его заново.

nvidia-smi
Кларк Кент
источник
Некоторые люди, возможно, должны остановиться lightdmвместо этого gdm3, см. Askubuntu.com/a/65867/422690
crypdick
1

Я следовал принятому ответу (@ubashu), и все прошло хорошо (если не совсем то же самое, инструкции приведут к правильному пути). У меня был бы только экспорт в путь (как указано также на https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions )

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} 
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\ ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

После этого вы можете использовать nvcc -V, чтобы проверить, действительно ли установка прошла успешно.

Педро Эсмериз
источник