Bagaimana saya bisa menginstal CUDA 9 di Ubuntu 17.10

41

Ubuntu 17.10 hadir dengan CUDA 8 yang mengandalkan clang 3.8 (mis. Lihat blogpost ini ).

Namun, saya ingin menginstal CUDA 9 dan mengandalkan GCC jika memungkinkan. Bagaimana saya bisa melakukan ini?

B0rk4
sumber

Jawaban:

57

Instalasi driver NVIDIA 384

Pertama, kami memasang Ubuntu 17.10 baru di komputer dengan NVIDIA GPU dan pilih "Instal perangkat lunak pihak ketiga" selama proses. Atau, kita dapat menambahkan repositori driver grafis secara manual:

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

Kemudian kami menginstal driver NVIDIA terbaru menggunakan apt:

sudo apt install nvidia-384 nvidia-384-dev

Kami memverifikasi instalasi dengan menjalankan:

nvidia-smi

Kita akan melihat output yang mencantumkan driver NVIDIA 384 dan GPU NVIDIA diskrit kami - mirip dengan tabel yang dirangkum di bawah ini:

+-----------------------------------------------------------------------------+
| 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 |
+-------------------------------+----------------------+----------------------+

Persiapan untuk pemasangan CUDA 9 + SDK

Kami memasang sejumlah paket build / dev yang kami perlukan nanti:

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

Kami perhatikan bahwa versi gcc / g ++ default pada 17.10 adalah 7.2.0 (Ubuntu 7.2.0-8ubuntu3) :

gcc -v

CUDA 9 membutuhkan gcc 6. Jadi, kami menginstalnya:

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

Perhatikan bahwa versi gcc default masih 7.2; dapat diperiksa dengan menjalankan gcc -vkembali.

Pemasangan CUDA 9 + SDK

Dari CUDA Toolkit Archive , pilih salah satu paket instalasi "runfile (lokal)" untuk mengunduh versi CUDA 9, seperti

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

Buat file yang di-download dapat dieksekusi dan jalankan menggunakan sudo:

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

Kami memasang CUDA dengan konfigurasi berikut:

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]

Siapkan symlink untuk 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++

Uji instalasi CUDA 9 menggunakan SDK

Buat sampel CUDA favorit Anda dan jalankan:

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

Anda mungkin ingin mengatur symlink gcc / g ++ setelah cuda menginstal.

B0rk4
sumber
1
Terjebak pada masalah ini sebentar. Menjalankan 17.10, mencoba menginstal CUDA 9. Saya mengalami masalah pada langkah 2: nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Ran lspci | grep -i nvidiamengatakan saya memiliki GeForce GTX 760. mokutil --sb-statemenunjukkan SecureBoot dinonaktifkan. Lari sudo apt-get purge nvidia*, jalankan perintah instal Anda untuk 384, dan jalankan dpkg -S nvidia-sminvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Ada saran?
Clark Kent
4
Saya harus melakukan salah satu 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++atau sudo ./cuda_9.0.176_384.81_linux-run --overridesebagai penulis di bawah ini merekomendasikan untuk menginstal dengan sukses tanpa konflik kompiler
y.selivonchyk
11
dua perintah untuk menambahkan tautan simbolik untuk kompiler gcc 6 harus dilakukan setelah menginstal cuda, karena / usr / local / cuda tidak ada sebelum menginstal
Luis Lobo Borobia
1
Banyak membantu! Satu-satunya hal yang saya lakukan dengan cara lain - menciptakan symlink setelah instalasi cuda di akhir.
QtRoS
1
Sebelum berjalan cuda_9.0.176_384.81_linux.run, bagaimana Anda membuat tautan lunak ( ln -s)? Apakah Anda secara manual membuat folder cuda?
mahmood
5

Menginstal ini membutuhkan waktu lebih lama daripada yang ingin saya akui, dan walaupun jawaban di atas adalah templat yang baik, saya memiliki beberapa langkah tambahan yang diperlukan untuk pemasangan baru saya pada Ubuntu 17.10:

blacklist nouveau

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

Tambahkan yang berikut ini:

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

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Perbarui disk initramfs

sudo update-initramfs -u

Berhenti gdm3

sudo /etc/init.d/gdm3 stop

sudo init 3

Dapatkan konten

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

Dapatkan paketnya

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

Jalankan dengan --override untuk mengganti pilihan kompiler

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

Setelah menginstal paket, saya akan mendapatkan kesalahan dengan nvidia-smi, jadi saya sarankan menjalankan perintah lagi untuk memverifikasi itu berfungsi. Ketika saya memiliki masalah, saya akan membersihkan * nvidia dan mendapatkannya kembali.

nvidia-smi
Clark Kent
sumber
Beberapa orang mungkin perlu berhenti lightdmbukan gdm3, lihat askubuntu.com/a/65867/422690
crypdick
1

Saya mengikuti jawaban yang diterima (@ubashu) dan semuanya berjalan dengan baik (jika tidak persis sama, instruksi akan mengarah ke jalur yang benar). Saya hanya akan mengekspor ke Path (sebagaimana ditentukan juga di 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}}

Setelah itu Anda dapat menggunakan nvcc -V untuk memeriksa apakah instalasi benar-benar berjalan dengan baik.

Pedro Esmeriz
sumber