Ubuntu 17.10 идет с CUDA 8, который полагается на лязг 3.8 (например, посмотрите это сообщение в блоге).
Однако я хотел бы установить CUDA 9 и полагаться на GCC, если это возможно. Как я могу сделать это?
Установка драйвера 384 NVIDIA
Сначала мы устанавливаем новую Ubuntu 17.10 на компьютере с GPU NVIDIA, и выбор "Устанавливают стороннее программное обеспечение" во время процесса. С другой стороны, мы можем добавить репозиторий графических драйверов вручную:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
Затем мы устанавливаем новый драйвер NVIDIA, использующий склонный:
sudo apt install nvidia-384 nvidia-384-dev
Мы проверяем установку путем выполнения:
nvidia-smi
Мы должны видеть вывод, который перечисляет драйвер NVIDIA 384 и нашу дискретную NVIDIA GPU - подобный итоговой приведенной ниже таблице:
+-----------------------------------------------------------------------------+
| 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 выберите один из "runfile (локальные)" пакеты установки для загрузки версии 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.
Получение этого установило, занял больше времени, чем я хотел бы признать, и в то время как вышеупомянутый ответ является хорошим шаблоном, у меня были некоторые дополнительные шаги, требуемые для моей новой установки 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
sudo update-initramfs -u
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
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
Я следовал принятому ответу (@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, чтобы проверить, подходила ли установка действительно.