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?
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:
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 -v
lạ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.
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 --override
như 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
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?
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:
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
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
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
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.
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
Ranlspci | grep -i nvidia
nói rằng tôi có GeForce GTX 760.mokutil --sb-state
cho thấy SecureBoot bị tắt. Ransudo apt-get purge nvidia*
, đã chạy lệnh cài đặt của bạn cho 384 và chạydpkg -S nvidia-smi
nvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Bất kỳ đề xuất?