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ć?
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ć?
Odpowiedzi:
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 -v
ponownie.
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 ++.
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 --override
jako autor poniżej zaleca instalację bez konfliktu kompilatora
cuda_9.0.176_384.81_linux.run
utworzyłeś miękkie linki ( ln -s
)? Czy ręcznie utworzyłeś folder cuda?
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:
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
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
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
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.
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
Ranlspci | grep -i nvidia
mówi, że mam GeForce GTX 760.mokutil --sb-state
pokazuje, że SecureBoot jest wyłączony. Ransudo apt-get purge nvidia*
, uruchomiłem polecenie instalacji dla 384 i uruchomiłemdpkg -S nvidia-smi
nvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Jakieś sugestie?