Làm cách nào tôi có thể cài đặt CUDA 9 trên Ubuntu 17.10


41

Ubuntu 17.10 đi kèm với CUDA 8 dựa trên clang 3.8 (ví dụ: xem blogpost này ).

Tuy nhiên, tôi muốn cài đặt CUDA 9 và dựa vào GCC nếu có thể. Tôi có thể làm cái này như thế nào?

Câu trả lời:


57

Cài đặt trình điều khiển NVIDIA 384

Trước tiên, chúng tôi cài đặt Ubuntu 17.10 mới trên máy tính có GPU NVIDIA và chọn "Cài đặt phần mềm của bên thứ ba" trong quá trình này. Ngoài ra, chúng ta có thể thêm kho lưu trữ trình điều khiển đồ họa theo cách thủ công:

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

Sau đó, chúng tôi cài đặt trình điều khiển NVIDIA gần đây nhất bằng apt:

sudo apt install nvidia-384 nvidia-384-dev

Chúng tôi xác minh cài đặt bằng cách chạy:

nvidia-smi

Chúng ta sẽ thấy một đầu ra liệt kê trình điều khiển NVIDIA 384 và GPU NVIDIA riêng biệt của chúng tôi - tương tự như bảng tóm tắt bên dưới:

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

Chuẩn bị cài đặt CUDA 9 + SDK

Chúng tôi cài đặt một số gói build / dev mà chúng tôi yêu cầu sau:

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

Chúng tôi nhận thấy rằng phiên bản gcc / g ++ mặc định vào ngày 17.10 là 7.2.0 (Ubuntu 7.2.0-8ubuntu3) :

gcc -v

CUDA 9 yêu cầu gcc 6. Vì vậy, chúng tôi cài đặt nó:

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

Lưu ý rằng phiên bản gcc mặc định vẫn còn 7.2; có thể được kiểm tra bằng cách chạy gcc -vlại.

Cài đặt CUDA 9 + SDK

Từ Lưu trữ Bộ công cụ CUDA , chọn một trong các gói cài đặt "runfile (cục bộ)" để tải xuống phiên bản CUDA 9, chẳng hạn như

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

Làm cho tập tin tải xuống có thể thực thi và chạy nó bằng sudo:

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

Chúng tôi cài đặt CUDA với các cấu hình sau:

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]

Thiết lập liên kết tượng trưng cho 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++

Kiểm tra cài đặt CUDA 9 bằng SDK

Xây dựng mẫu CUDA yêu thích của bạn và chạy nó:

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

Bạn có thể muốn thiết lập các liên kết tượng trưng gcc / g ++ sau khi cài đặt cuda.


1
Đã bị mắc kẹt về vấn đề này một chút. Chạy 17.10, đang cố cài đặt CUDA 9. Tôi gặp sự cố ở bước 2: nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Ran lspci | grep -i nvidianói rằng tôi có GeForce GTX 760. mokutil --sb-statecho thấy SecureBoot bị tắt. Ran sudo apt-get purge nvidia*, đã chạy lệnh cài đặt của bạn cho 384 và chạy dpkg -S nvidia-sminvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Bất kỳ đề xuất?
Clark Kent

4
Tôi đã phải làm một trong hai 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++hoặc sudo ./cuda_9.0.176_384.81_linux-run --overridenhư tác giả dưới đây khuyên bạn nên cài đặt thành công mà không có xung đột trình biên dịch
y.selivonchyk

11
hai lệnh để thêm các liên kết tượng trưng cho trình biên dịch gcc 6 phải được thực hiện sau khi cài đặt cuda, vì / usr / local / cuda không tồn tại trước khi cài đặt
Luis Lobo Borobia

1
Giúp đỡ rất nhiều! Điều duy nhất tôi đã làm theo một cách khác - tạo liên kết tượng trưng sau khi cài đặt cuda ở cuối.
QtRoS

1
Trước khi chạy cuda_9.0.176_384.81_linux.run, bạn đã tạo các liên kết mềm ( ln -s) như thế nào? Bạn đã tự tạo thư mục cuda chưa?
mahmood 17/03/18

5

Việc cài đặt này mất nhiều thời gian hơn tôi muốn thừa nhận và trong khi câu trả lời ở trên là một mẫu tốt, tôi đã có một số bước bổ sung cần thiết cho bản cài đặt Ubuntu 17.10 mới của mình:

danh sách đen

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

Thêm những điều sau:

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

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Cập nhật đĩa initramfs

sudo update-initramfs -u

Dừng gdm3

sudo /etc/init.d/gdm3 stop

sudo init 3

Có được nội dung

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

Nhận gói

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

Chạy với --override để ghi đè lựa chọn trình biên dịch

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

Sau khi cài đặt gói, tôi sẽ gặp lỗi với nvidia-smi, vì vậy tôi khuyên bạn nên chạy lại lệnh để xác minh nó hoạt động. Khi tôi gặp vấn đề, tôi sẽ thanh lọc nvidia * và lấy lại.

nvidia-smi

Một số người có thể cần phải dừng lại lightdmthay vì gdm3, xem Askubfox.com/a/65867/422690
crypdick

1

Tôi đã làm theo câu trả lời được chấp nhận (@ubashu) và mọi thứ đều diễn ra tốt đẹp (nếu không hoàn toàn giống nhau, các hướng dẫn sẽ dẫn đến đường dẫn chính xác). Tôi sẽ chỉ xuất sang Đường dẫn (như được chỉ định trên https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-ilities )

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

Sau đó, bạn có thể sử dụng nvcc -V để kiểm tra xem quá trình cài đặt có thực sự tốt không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.