Как установить CUDA в Ubuntu 18.04?

61

Есть ли руководство по установке CUDA на Ubuntu 18.04?

Инструкции на сайте Nvidia для 17.04 и 16.04 не работают для 18.04.

Я получаю сообщение о необходимости перезагрузки и повторного запуска программы установки. Однако, когда я делаю это, я снова получаю то же самое сообщение.

Gabs
источник
Это сработало для меня. Какая часть этого не работает для вас?
user3667089
В нем говорится, что требуется перезагрузка, а затем перезапустите установщик, но я перезагружаю компьютер и пытаюсь переустановить, и все, что я получаю, - это одно и то же сообщение ...
Gabs
Попробуйте следовать инструкциям здесь , который использует runfile для установки драйвера и Cuda инструментария.
конус

Ответы:

19

Я установил CUDA 9.1 на Ubuntu 18.04 и работает очень хорошо.

Однако мне следует изменить стандартные gcc, g ++ и использовать файлы .run вместо файлов .deb.

  1. установить gcc-6, g ++ - 6 (CUDA требует gcc-6!)
  2. В / usr / bin от имени root, rm gcc, gcc-ar, gcc-nm, gcc-ranlib g ++, затем ln -s gcc-6 gcc; ln -s gcc-ar-6 gcc-ar; ln -s gcc-nm-6 gcc-nm; ln -s gcc-ranlib-6 gcc-ranlib; и ln -s g ++ - 6 g ++
  3. установить CUDA, используя .run файлы. Вы не можете быть водителем. Вместо этого лучше установить последнюю версию драйвера (если требуется, скачайте NVIDIA-Linux-xxxxxxx.run от Nvidia).

Вот и все.

Я пытался установить, используя файлы .deb, но это вызывает конфликт пакетов, поэтому я изменил способ.

Наслаждайся этим!!

Дэ Чул Джо 조대철
источник
10
Я рекомендую использовать альтернативы обновления вместо замены gcc, см. Askubuntu.com/questions/26498/choose-gcc-and-g-version для получения более подробной информации
Mr.WorshipMe
100

В терминале введите:


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

sudo apt update

sudo ubuntu-drivers autoinstall

перезагрузка


sudo apt install nvidia-cuda-toolkit gcc-6

nvcc --version

У меня есть видеокарта gtx970 и новая версия Ubuntu 18.04

Это сработало для меня

eromod
источник
10
Это должен быть принят ответ
luboskrnac
6
Это в основном работало для меня. Единственная проблема состояла в том, что ubuntu-drivers не был найден и должен был это исправить, выполнив: sudo apt-get install ubuntu-drivers-common (нашел его здесь: askubuntu.com/a/361868/766963 )
Volkan Paksoy
Это сработало для меня, хотя мне пришлось переключиться обратно в nouveau из пользовательского интерфейса перед запуском автоматической установки (сообщалось о конфликтах при установке v396, когда был установлен v390)
Alex Reinking
1
Это сработало отлично. Однако sudo apt upgradeснова все сломалось, будьте осторожны с обновлениями!
Луис
1
Для меня autoinstallкоманда приводит кThe following packages have unmet dependencies: nvidia-driver-415
MrMartin
12

Включите хранилище multiverse, установите драйверы nvidia и nvidia-cuda-toolkit и gcc6 (желательно использовать альтернативы обновления для легкого переключения версий):

  1. В разделе «Программное обеспечение и обновления» выберите ограниченные и мультиверсивные репозитории.
  2. На вкладке «Дополнительные драйверы» в разделе «Программное обеспечение и обновления» выберите проприетарный драйвер NVIDIA (390 для CUDA 9)
  3. sudo apt update && sudo apt установите nvidia-cuda-toolkit или установите его из центра программного обеспечения ubuntu.
  4. CUDA требует gcc6, используйте альтернативы обновления для поддержки gcc7 и gcc6, как описано здесь .

В качестве альтернативы вы можете следовать инструкциям Тейлора :

  1. После установки проприетарного драйвера NVIDIA загрузите установку CUDA 9 с их сайта (получите версию Ubuntu 17.04 runfile)
  2. сделать загруженный файл исполняемым с sudo chmod +x
  3. запустить его с флагом --override
  4. Примите положения и условия, скажите «да» для установки с неподдерживаемой конфигурацией и «Нет». «Установить драйвер ускоренной графики NVIDIA для Linux-x86_64 384.81?». Убедитесь, что вы не согласны с установкой нового драйвера.
  5. Смотрите выше об использовании gcc6

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

Mr.WorshipMe
источник
2
Хотя ссылка на страницу пакета полезна, и здесь достаточно информации, что это не «ответ только для ссылок» или что-то подобное , я рекомендую вам отредактировать это, чтобы объяснить, как делать то, что вы рекомендуете.
Элия ​​Каган
6

Я сомневаюсь, что приведенные выше ответы соответствуют действительности, поскольку они, похоже, покидают систему без всей подсистемы драйверов NVidia. Я могу догадаться, почему Cuda не тянет в драйверах, хотя я бы предпочел иметь это в противном случае. Я также не уверен, какой правильный способ получить последнюю версию драйвера, но сейчас кажется, что это делает это:

sudo apt-get установить nvidia-driver-390

Айван М
источник
3
Правильно, если вы не устанавливаете драйверы Nvidia из репозиториев Ubuntu, вам, возможно, придется переустанавливать их после каждого обновления ядра.
ubfan1
Вам, вероятно, также нужен nvidia-driver-390-dev
Mr.WorshipMe
4

Это то, что я сделал. Могут быть добавлены дополнительные вещи, которые я, вероятно, не должен был бы делать, но я все равно собираюсь их включить.

Сначала получите драйверы репозитория ppa. (Я бы сказал, что это требуется перед установкой, если вы не хотите рисковать каким-либо циклом смерти при входе в систему).

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

Затем установите последнюю версию драйвера. Я использую GUI Updater для большей части Software & Updates, на вкладке «Дополнительные драйверы». На сегодняшний день драйвер nvidia 396 доступен.

Получите g ++ - 6 и gcc-6. (Необходимые)

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

Вы можете попробовать использовать nvidia-cuda-toolkit, но пути к библиотекам мне не были знакомы. Я не хотел связываться с этим.

(Я бы, вероятно, пропустил этот, но перейдите к нему, если другие вещи вызывают проблемы)

sudo apt install nvidia-cuda-toolkit

В итоге я установил файл запуска 9.1 для Ubuntu 17.04. Скачать это. Пометить файл как исполняемый (я щелкаю правой кнопкой мыши по файлу на рабочем столе). Зайди в терминал и поставь. (Необходимые)

./cuda_9.1.85_387.26_linux.run --override

Он установит его, используя новые компиляторы gcc. Он задаст вам кучу вопросов и попросит немедленно ответить на них.

Ответьте да на неподдерживаемую конфигурацию.

Нет драйверу nvidia.

Да- к инструментарию

Я использовал стандартные места установки

После того, как это установлено, убедитесь, что вы установили свои пути. Файл запуска тоже напомнит вам. Также документация nvidia скажет вам, что экспортировать.

echo 'export PATH=/usr/local/cuda-9.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:$LD_LIBRARY_PATH' >> ~/.bash.rc
source ~/.bashrc

Наконец, вам нужно установить simlink для gcc-6 и g ++ - 6, иначе вы получите предупреждение о компиляции собственного кода. (Обязательно)

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

Перезагрузите систему. (Необходимые)

Дерек Стинсон
источник
Хороший ответ, но в моей ситуации драйвер Ubuntu repo nvidia был неправильной суб-версией! На момент публикации этого nvidia-396пакета была установлена ​​версия 396.37, которая не работает для моего GeForce GTX 950. Поэтому мне пришлось установить 396.18 вручную! Поэтому убедитесь, что драйвер именно тот, который вам действительно нужен.
salotz
2

Посмотрим, как пойдет мой ответ на 16.04 :

  1. Загрузите CUDA для Ubuntu 17.10 (локальный runfile) - Tensorflow рекомендует CUDA 9.0 - CUDA 9.2, похоже, не работает с tf
  2. Установите требования CUDA (см. Раздел ниже)
  3. Бегать sudo sh cuda_7.5.18_linux.run
  4. Следуйте указаниям командной строки.

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

CUDA 9.2

$ nvidia-smi
Fri Jun  8 18:09:24 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce 940MX       Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   72C    P0    N/A /  N/A |    512MiB /  2004MiB |     90%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1031      G   /usr/lib/xorg/Xorg                           276MiB |
|    0      3072      G   ...-token=0F06A89A68C1B8739F1AB9EF1C5654F9   232MiB |
+-----------------------------------------------------------------------------+

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Wed_Apr_11_23:16:29_CDT_2018
Cuda compilation tools, release 9.2, V9.2.88

Предупреждение : не устанавливайте драйвер дисплея! (По крайней мере, это не сработало на моем Thinkpad T460p)

CUDA 9.0 для TF

$ nvidia-smi
Sat Jun  9 08:55:30 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce 940MX       Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   68C    P0    N/A /  N/A |    595MiB /  2004MiB |     91%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1036      G   /usr/lib/xorg/Xorg                           350MiB |
|    0      2531      G   ...-token=FA7CF967F32AD2277A4B0EA78D1CB8D4   241MiB |
+-----------------------------------------------------------------------------+

а также

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

Требования CUDA

$ sudo apt-get install gcc-6 g++-6
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 50
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50

Проверить с помощью

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 6.4.0-17ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-as=/usr/bin/x86_64-linux-gnu-as --with-ld=/usr/bin/x86_64-linux-gnu-ld --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.4.0 20180424 (Ubuntu 6.4.0-17ubuntu1)
Мартин Тома
источник
0

Мой собственный опыт установки CUDA. Проверено на Ubuntu 18.04. Задача:

  • Установите графический драйвер для Palit GeForce GTX 1080 Ti GameRock 11 ГБ GDDR5X [NEB108TT15LC-1020G].
  • Установите библиотеку CUDA для всех пользователей.

Ссылки по теме:

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

Зайдите на сайт NVIDIA - https://www.nvidia.com/Download/index.aspx и получите последнюю версию драйвера для вашего графического процессора. В моем случае это:

Product Type: GeForce
Product Series: GeForce 10 Series
Product: GeForce GTX 1080 Ti
Operating System: Linux 64-bit
Language: English (US)
Press <SEARCH> button and check that founded driver is supporting your GPU
in "SUPPORTED PRODUCTS" tab.

Скачать это. В моем случае имя файла:NVIDIA-Linux-x86_64-410.78.run

# Change permission to run and execute it
sudo chmod +x NVIDIA-Linux-x86_64-410.78.run

# Before installation install gcc and make packages:
sudo apt install gcc
sudo apt install make

Лучше запустить установку драйвера в текстовом режиме. Для текстового режима нажмите <Ctrl>+<Alt>+<F3>и войдите в консоль.

Скорее всего, у вас будут проблемы с ранее установленным графическим драйвером под названием Nouveau.

# Remove Nouveau driver
sudo apt –purge remove xserver-xorg-video-nouveau
# Remove previously installed NVIDIA driver
sudo apt purge nvidia*

# Execute file and answer the questions during installation
sudo ./NVIDIA-Linux-x86_64-410.78.run

# Reboot Ubuntu
sudo reboot

# To check if installation is successful
nvidia-smi

Вы должны увидеть вывод терминала Nvidia Drivers: введите описание изображения здесь

# Check again
lsmod | grep nouveau  # should be zero output
lsmod | grep nvidia   # should be non-zero output

# Another check. {tab} means you should press <Tab> button on your keyboard.
cat /proc/driver/nvidia/gpus/{tab}/information

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

Установка библиотеки CUDA для всех пользователей

# Install gcc, kernel headers and development libraries
sudo apt install gcc-6 g++-6 linux-headers-$(uname -r) freeglut3-dev libxmu-dev libpcap-dev

Скачать CUDA Toolkit из - https://developer.nvidia.com/cuda-downloads Выберите: Linux, x86_64, Ubuntu, 18.04, runfile (local).

Загрузить файл объемом 2,0 ГБ: cuda_10.0.130_410.48_linux.run

# Change permissions and run it
sudo chmod +x cuda_10.0.130_410.48_linux.run
sudo ./cuda_10.0.130_410.48_linux.run

If installation is successful, your should see the following output:
===========
= Summary =
===========

Toolkit: Installed in /usr/local/cuda-10.0
Samples: Not Selected

Please make sure that
 - PATH includes /usr/local/cuda-10.0/bin
 - LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root

Чтобы настроить среду CUDA для всех пользователей (и приложений) в вашей системе, создайте два файла (используйте sudo и текстовый редактор на ваш выбор)

# Create file cuda.sh
sudo touch /etc/profile.d/cuda.sh
# Open cuda.sh file
sudo nano /etc/profile.d/cuda.sh
# Add content to the file
export PATH=$PATH:/usr/local/cuda/bin
export CUDADIR=/usr/local/cuda

# Also create file cuda.conf
sudo touch /etc/ld.so.conf.d/cuda.conf
# Open cuda.conf file
sudo nano /etc/ld.so.conf.d/cuda.conf
# Add content to the file
/usr/local/cuda/lib64

# Restart ldconfig
sudo ldconfig

# Create symbolic links to GCC6 in the CUDA bin folder.
sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-10.0/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda-10.0/bin/g++

# Test CUDA by building the examples
# Copy the CUDA samples source directory to someplace in your home directory
# Go to the directory with the samples and run:
make -j4

# There could be compilation error for the samples
# Error: cannot find -lGL
# I was able to fix it by following the instructions in this link:
# http://techtidings.blogspot.com/2012/01/problem-with-libglso-on-64-bit-ubuntu.html (the final two commands)
sudo rm /usr/lib/x86_64-linux-gnu/libGL.so
sudo ln -s /usr/lib/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
FooBar167
источник