Jak mogę zainstalować CUDA 9 na Ubuntu 17.10

41

Ubuntu 17.10 jest wyposażony w CUDA 8, który opiera się na clang 3.8 (np. Zobacz ten post na blogu ).

Chciałbym jednak zainstalować CUDA 9 i w miarę możliwości polegać na GCC. Jak mogę to zrobić?

B0rk4
źródło

Odpowiedzi:

57

Instalacja sterownika NVIDIA 384

Najpierw instalujemy świeżą wersję Ubuntu 17.10 na komputerze z procesorem graficznym NVIDIA i wybieramy podczas instalacji „Instaluj oprogramowanie innych firm”. Alternatywnie możemy ręcznie dodać repozytorium sterowników grafiki:

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

Następnie instalujemy najnowszy sterownik NVIDIA za pomocą apt:

sudo apt install nvidia-384 nvidia-384-dev

Sprawdzamy instalację, uruchamiając:

nvidia-smi

Powinniśmy zobaczyć wyjście zawierające sterownik NVIDIA 384 i nasz dyskretny procesor graficzny NVIDIA - podobny do poniższej tabeli podsumowującej:

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

Przygotowanie do instalacji CUDA 9 + SDK

Instalujemy szereg pakietów build / dev, których potrzebujemy później:

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

Zauważamy, że domyślna wersja gcc / g ++ w wersji 17.10 to 7.2.0 (Ubuntu 7.2.0-8ubuntu3) :

gcc -v

CUDA 9 wymaga gcc 6. Dlatego instalujemy go:

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

Zauważ, że domyślna wersja gcc jest nadal 7.2; można sprawdzić, uruchamiając gcc -vponownie.

Instalacja CUDA 9 + SDK

Z Archiwum CUDA Toolkit wybierz jeden z pakietów instalacyjnych „runfile (local)”, aby pobrać wersję CUDA 9, na przykład

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

Ustaw pobrany plik jako wykonywalny i uruchom go za pomocą sudo:

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

Instalujemy CUDA w następujących konfiguracjach:

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]

Skonfiguruj dowiązania symboliczne dla 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++

Przetestuj instalację CUDA 9 za pomocą zestawu SDK

Zbuduj swoją ulubioną próbkę CUDA i uruchom ją:

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

Po instalacji cuda możesz chcieć skonfigurować dowiązania symboliczne gcc / g ++.

B0rk4
źródło
1
Trochę utknąłem w tej sprawie. Pracuję 17.10, próbuję zainstalować CUDA 9. Mam problem z krokiem 2: nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Ran lspci | grep -i nvidiamówi, że mam GeForce GTX 760. mokutil --sb-statepokazuje, że SecureBoot jest wyłączony. Ran sudo apt-get purge nvidia*, uruchomiłem polecenie instalacji dla 384 i uruchomiłem dpkg -S nvidia-sminvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Jakieś sugestie?
Clark Kent
4
Musiałem zrobić jedno z poniższych 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++lub sudo ./cuda_9.0.176_384.81_linux-run --overridejako autor poniżej zaleca instalację bez konfliktu kompilatora
y.selivonchyk
11
dwa polecenia dodania dowiązań symbolicznych dla kompilatorów gcc 6 muszą zostać wykonane po zainstalowaniu cuda, ponieważ / usr / local / cuda nie istnieje przed instalacją
Luis Lobo Borobia
1
Pomagaj dużo! Jedyne, co zrobiłem w inny sposób - stworzyłem dowiązania symboliczne po instalacji cuda na samym końcu.
QtRoS,
1
Jak przed uruchomieniem cuda_9.0.176_384.81_linux.runutworzyłeś miękkie linki ( ln -s)? Czy ręcznie utworzyłeś folder cuda?
mahmood
5

Zainstalowanie tego zajęło więcej czasu, niż chciałbym przyznać, i chociaż powyższa odpowiedź jest dobrym szablonem, musiałem wykonać kilka dodatkowych kroków dla mojej nowej instalacji Ubuntu 17.10:

czarna lista nouveau

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

Dodaj następujące:

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

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Zaktualizuj dysk initramfs

sudo update-initramfs -u

Zatrzymaj gdm3

sudo /etc/init.d/gdm3 stop

sudo init 3

Pobierz zawartość

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

Zdobądź paczkę

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

Uruchom z --override, aby zastąpić wybór kompilatora

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

Po zainstalowaniu pakietu pojawiły się błędy w nvidia-smi, więc sugeruję ponowne uruchomienie polecenia, aby sprawdzić, czy działa. Gdy miałem problemy, oczyszczałem nvidię * i odzyskiwałem ją.

nvidia-smi
Clark Kent
źródło
Niektóre osoby mogą wymagać zatrzymania lightdmzamiast gdm3, patrz askubuntu.com/a/65867/422690
crypdick
1

Postępowałem zgodnie z przyjętą odpowiedzią (@ubashu) i wszystko poszło dobrze (jeśli nie dokładnie takie same, instrukcje doprowadziłyby do właściwej ścieżki). Miałem tylko eksport do ścieżki (jak określono również na 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}}

Następnie możesz użyć nvcc -V, aby sprawdzić, czy instalacja naprawdę poszła dobrze.

Pedro Esmeriz
źródło