Bagaimana cara menginstal CUDA di Ubuntu 18.04?


61

Apakah ada tutorial untuk menginstal CUDA di Ubuntu 18.04?

Instruksi di situs web Nvidia untuk 17.04 dan 16.04 tidak berfungsi untuk 18.04.

Saya mendapat pesan yang memberitahu saya untuk reboot lalu jalankan kembali installer. Namun ketika saya melakukan ini saya mendapatkan pesan yang sama lagi.


Itu berhasil untuk saya. Bagian mana yang tidak cocok untuk Anda?
user3667089

Dikatakan bahwa reboot diperlukan dan kemudian menjalankan kembali installer, tapi saya reboot komputer dan mencoba menginstal ulang dan semua yang saya dapatkan adalah pesan yang sama ...
Gabs

Coba ikuti instruksi di sini yang menggunakan runfile untuk menginstal driver dan toolkit cuda.
taper

Jawaban:


19

Saya telah menginstal CUDA 9.1 di Ubuntu 18.04, dan berjalan dengan sangat baik.

Namun, saya harus memodifikasi gcc, g ++, dan menggunakan file .run daripada file .deb.

  1. instal gcc-6, g ++ - 6 (CUDA membutuhkan gcc-6!)
  2. Di / usr / bin sebagai root, rm gcc, gcc-ar, gcc-nm, gcc-ranlib g ++, lalu 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; dan ln -s g ++ - 6 g ++
  3. instal CUDA menggunakan file .run. Anda mungkin tidak menjual driver. Sebaliknya, instal driver terbaru (jika perlu, unduh NVIDIA-Linux-xxxxxxx.run dari Nvidia) akan lebih baik.

Itu saja.

Saya sudah mencoba menginstal menggunakan file deb, tetapi menyebabkan konflik paket sehingga saya mengubah cara.

Bersenang senang lah!!


10
Saya sarankan menggunakan pembaruan-alternatif daripada mengganti gcc, lihat askubuntu.com/questions/26498/choose-gcc-and-g-version untuk detail lebih lanjut
Mr.WorshipMe

100

Di terminal, ketik:


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

sudo apt update

sudo ubuntu-drivers autoinstall

reboot


sudo apt install nvidia-cuda-toolkit gcc-6

nvcc --version

Saya memiliki kartu grafis gtx970 dan instalasi baru Ubuntu 18.04

Ini berhasil untuk saya


10
Ini harus diterima jawaban
luboskrnac

6
Ini sebagian besar bekerja untuk saya. Satu-satunya masalah adalah ubuntu-drivers tidak ditemukan dan harus memperbaikinya dengan menjalankan: sudo apt-get install ubuntu-drivers-common (temukan di sini: askubuntu.com/a/361868/766963 )
Volkan Paksoy

Ini bekerja untuk saya, meskipun saya harus beralih kembali ke nouveau dari UI sebelum menjalankan autoinstall (dilaporkan konflik menginstal v396 ketika v390 diinstal)
Alex Reinking

1
Ini bekerja dengan sempurna. Namun sudo apt upgradehancurkan semuanya lagi, hati-hati dengan peningkatan!
Luis

1
Bagi saya, autoinstallhasil perintahThe following packages have unmet dependencies: nvidia-driver-415
MrMartin

12

Aktifkan repositori multiverse, instal driver nvidia dan nvidia-cuda-toolkit dan gcc6 (lebih disukai menggunakan pembaruan-alternatif untuk dengan mudah beralih versi):

  1. Dalam perangkat lunak & pembaruan, pilih repositori terbatas dan multiverse
  2. Pada tab Driver Tambahan di perangkat lunak & pembaruan pilih driver berpemilik NVIDIA (390 untuk CUDA 9)
  3. sudo apt update && sudo apt install nvidia-cuda-toolkit, atau instal dari pusat perangkat lunak ubuntu.
  4. CUDA membutuhkan gcc6, gunakan pembaruan-alternatif untuk memelihara gcc7 dan gcc6 seperti yang dijelaskan di sini .

Atau Anda dapat mengikuti instruksi Taylor :

  1. Setelah menginstal driver NVIDIA eksklusif, unduh instalasi CUDA 9 dari situs mereka (dapatkan Ubuntu versi runfile 17.04)
  2. membuat file yang diunduh dapat dieksekusi dengan sudo chmod +x
  3. jalankan dengan flag --override
  4. Terima syarat dan ketentuan, katakan ya untuk menginstal dengan konfigurasi yang tidak didukung, dan tidak untuk "Instal Driver Grafis Akselerasi NVIDIA untuk Linux-x86_64 384.81?". Pastikan Anda tidak setuju untuk menginstal driver baru.
  5. Lihat di atas tentang menggunakan gcc6

Metode kedua memiliki kelemahan yang tidak mudah untuk ditingkatkan atau dihapus.


2
Meskipun tautan ke halaman paket bermanfaat, dan ada cukup informasi di sini bahwa ini bukan "hanya tautan jawaban" atau apa pun, saya sarankan Anda mengedit ini untuk menjelaskan bagaimana melakukan apa yang Anda rekomendasikan.
Eliah Kagan

6

Saya ragu jawaban di atas memenuhi syarat, karena mereka tampaknya meninggalkan sistem tanpa seluruh subsistem driver NVidia. Saya bisa menebak mengapa Cuda tidak menarik driver, meskipun saya mungkin lebih suka memilikinya sebaliknya. Saya juga tidak yakin mana cara yang tepat untuk mendapatkan driver terbaru, tetapi saat ini sepertinya melakukannya:

sudo apt-get install nvidia-driver-390


3
Benar, jika Anda tidak menginstal driver Nvidia dari repositori Ubuntu, Anda mungkin harus menginstalnya kembali setelah setiap pembaruan kernel.
ubfan1

Anda mungkin juga membutuhkan nvidia-driver-390-dev
Mr.WorshipMe


4

Inilah yang saya lakukan. Mungkin ada tambahan hal-hal tambahan yang mungkin tidak harus saya lakukan, tetapi saya akan memasukkannya juga.

Pertama-tama dapatkan driver repositori ppa. (Saya akan mengatakan ini diperlukan sebelum menginstal, kecuali jika Anda ingin mengambil risiko beberapa loop masuk kematian).

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

Kemudian instal driver terbaru. Saya menggunakan pembaruan GUI untuk sebagian besar disebut Perangkat Lunak & Pembaruan, di tab Driver Tambahan. Sampai hari ini driver nvidia 396 tersedia.

Dapatkan g ++ - 6 dan gcc-6. (Yg dibutuhkan)

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

Anda dapat mencoba menggunakan nvidia-cuda-toolkit, tetapi jalur ke perpustakaan tidak saya kenal. Saya tidak ingin mengacaukannya.

(Saya mungkin akan melewatkan yang satu ini, tetapi pergi ke sana jika hal-hal lain memberikan masalah)

sudo apt install nvidia-cuda-toolkit

Saya akhirnya menginstal file 9,1 run untuk Ubuntu 17.04. Unduh itu. Tandai file sebagai file yang dapat dieksekusi (saya klik kanan pada file di desktop). Pergilah ke terminal dan masukkan. (Yg dibutuhkan)

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

Ini akan menginstalnya menggunakan kompiler gcc baru. Ini akan menanyakan banyak pertanyaan, dan itu akan ingin mereka segera dijawab.

Jawab ya untuk konfigurasi yang tidak didukung.

Tidak ke driver nvidia.

Ya- ke toolkit

Saya menggunakan lokasi pemasangan default

Setelah itu diinstal maka pastikan Anda mengatur jalur Anda. File yang dijalankan akan memberi Anda pengingat juga. Juga dokumentasi nvidia akan memberi tahu Anda apa yang akan diekspor.

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

Akhirnya Anda harus mengatur simlinks ke gcc-6 dan g ++ - 6 atau Anda akan mendapat peringatan tentang kompilasi kode Anda sendiri. (Diperlukan)

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

Mulai ulang sistem. (Yg dibutuhkan)


Jawaban yang bagus, tetapi dalam situasi saya, driver repo nvidia Ubuntu adalah sub-versi yang salah! Pada saat memposting ini nvidia-396paketnya adalah versi 396.37 yang tidak berfungsi untuk GeForce GTX 950 saya. Jadi saya harus menginstal 396.18 secara manual! Jadi pastikan untuk memeriksa driver yang Anda butuhkan.
salotz

2

Mari kita lihat bagaimana jawaban saya untuk 16,04 berjalan:

  1. Unduh CUDA untuk Ubuntu 17.10 (runfile local) - Tensorflow merekomendasikan CUDA 9.0 - CUDA 9.2 sepertinya tidak bekerja dengan tf
  2. Instal persyaratan CUDA (lihat bagian di bawah)
  3. Lari sudo sh cuda_7.5.18_linux.run
  4. Ikuti petunjuk baris perintah.

Langkah selanjutnya: Instal 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

Peringatan : Jangan menginstal driver tampilan! (Setidaknya itu tidak bekerja pada Thinkpad T460p saya)

CUDA 9.0 untuk 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 |
+-----------------------------------------------------------------------------+

dan

$ 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

Persyaratan 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

Verifikasi dengan

$ 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

Pengalaman saya sendiri dalam instalasi CUDA. Diuji pada Ubuntu 18.04. Tugas:

  • Instal driver grafis untuk Palit GeForce GTX 1080 Ti GameRock 11GB GDDR5X [NEB108TT15LC-1020G].
  • Instal pustaka CUDA untuk semua pengguna.

Tautan yang berhubungan:

Instalasi driver NVIDIA

Buka situs web NVIDIA - https://www.nvidia.com/Download/index.aspx dan dapatkan driver terbaru untuk GPU Anda. Dalam kasus saya itu adalah:

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.

Unduh itu. Dalam kasus saya nama file adalah: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

Lebih baik menjalankan instalasi driver dalam mode teks. Untuk mode teks, tekan <Ctrl>+<Alt>+<F3>dan login ke konsol.

Kemungkinan besar Anda akan mengalami masalah dengan driver grafis yang sebelumnya diinstal bernama 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

Anda akan melihat output terminal dari Driver Nvidia: masukkan deskripsi gambar di sini

# 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

Anda harus melihat model GPU yang benar: masukkan deskripsi gambar di sini

Menginstal perpustakaan CUDA untuk semua pengguna

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

Men-download CUDA toolkit dari - https://developer.nvidia.com/cuda-downloads Pilih: Linux, x86_64, Ubuntu, 18.04, runfile (local).

Unduh file 2,0 GB: 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

Untuk mengkonfigurasi lingkungan CUDA untuk semua pengguna (dan aplikasi) di sistem Anda buat dua file (gunakan sudo dan editor teks pilihan Anda)

# 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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.