nói chung, tôi thấy tốt nhất là nên sử dụng bất kỳ bản phát hành Ubuntu LTS nào ... 18.04 hoặc 20.04, v.v ... vì những thứ này có xu hướng được hỗ trợ tốt hơn bởi những thứ như trình điều khiển nvidia, v.v.
Vì vậy, tôi đang dùng Ubuntu 20.04 và tôi đã cài đặt cuda bằng cách này
xóa tất cả các liên kết tượng trưng mà bạn đã tạo để ghi đè các phiên bản trình biên dịch
Phần mềm & Cập nhật -> Trình điều khiển bổ sung -> chọn Nouveau
cd /var/crash # xóa mọi tệp ở đây
cd /etc/apt
grep -r cuda * # cung cấp cho bạn tệp ví dụ /etc/apt/sources.list.d/cuda-ubuntu2004-11-6-local.list
bây giờ hãy xóa bất kỳ tệp nào được trả về bởi lệnh trên hoặc chỉ nhận xét tất cả các dòng bên trong (các) tệp đã nói
khởi động lại
Bây giờ hãy cài đặt cuda (nó sẽ tự động cài đặt trình điều khiển nvidia phù hợp NHƯNG bạn phải bắt đầu sử dụng Nouveau)
https://developer.nvidia.com/cuda-downloads
Linux -> x86_64 -> Ubuntu -> 20.04 -> deb (cục bộ)
ở trên đưa bạn đến liên kết
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local
ở trên chỉ đơn giản là hiển thị cho bạn bên dưới mà sau đó bạn tự phát hành
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
Sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_AMD64.deb
Sudo dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_AMD64.deb
Sudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub
sudo apt-get cập nhật
Sudo apt-get -y cài đặt cuda
khởi động lại
nvidia-smi
Thứ hai ngày 17 tháng 1 13:20:46 2022
+--------------------------------------------- ----------------------------- +
| Phiên bản trình điều khiển NVIDIA-SMI 510.39.01: 510.39.01 Phiên bản CUDA: 11.6 |
|-------------------------------------+----------------- -----+----------------------+
| Tên GPU Persistence-M| Bus-Id Disp.A | Dễ bay hơi Uncorr. ECC |
| Fan Temp Perf Pwr:Sử dụng/Giới hạn| Sử dụng bộ nhớ | GPU-Util Compute M. |
| | | MIG M. |
|=================================================== =====+======================|
| 0 NVIDIA GeForce ... Bật | 00000000:02:00.0 Bật | Không áp dụng |
| 0% 56C P0 29W/190W | 1362MiB / 6144MiB | 25% mặc định |
| | | Không áp dụng |
+------------------------------------+----------------- -----+----------------------+
+--------------------------------------------- ----------------------------- +
| Quy trình: |
| GPU GI CI Loại PID Tên quy trình Bộ nhớ GPU |
| ID ID Sử dụng |
|================================================= ============================|
| 0 Không áp dụng Không áp dụng 1280 G /usr/lib/xorg/Xorg 101MiB |
| 0 N/A N/A 1965 G /usr/lib/xorg/Xorg 656MiB |
| 0 Không áp dụng Không áp dụng 2110 G /usr/bin/gnome-shell 82MiB |
| 0 Không áp dụng Không áp dụng 2493 G ...AAAAAAAAA= --shared-files 19MiB |
| 0 N/A N/A 4865 G ...167530988844266480,131072 19MiB |
| 0 Không áp dụng Không áp dụng 6981 G ...axaca/src/firefox/firefox 230MiB |
| 0 Không áp dụng Không áp dụng 8585 G ...AAAAAAAAA= --shared-files 39MiB |
| 0 N/A N/A 10141 G ...AAAAAAAAA= --shared-files 68MiB |
| 0 N/A N/A 10638 G ...AAAAAAAAA= --shared-files 114MiB |
+--------------------------------------------- ----------------------------- +
nvcc --version
nvcc: Trình điều khiển trình biên dịch NVIDIA (R) Cuda
Bản quyền (c) 2005-2021 Tập đoàn NVIDIA
Được xây dựng vào Fri_Dec_17_18:16:03_PST_2021
Công cụ biên dịch Cuda, phát hành 11.6, V11.6.55
Bản dựng cuda_11.6.r11.6/compiler.30794723_0
mèo proc/trình điều khiển/nvidia/phiên bản
Phiên bản NVRM: Mô-đun hạt nhân NVIDIA UNIX x86_64 510.39.01 Thứ Sáu, ngày 31 tháng 12 11:03:22 UTC 2021
Phiên bản GCC: phiên bản gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04)
Khi bạn làm như trên thì git repo của bạn sẽ biên dịch OK theo bên dưới
gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
Bản quyền (C) 2019 Tổ chức phần mềm miễn phí, Inc.
Đây là phần mềm miễn phí; xem nguồn để biết điều kiện sao chép. Không có
sự bảo đảm; thậm chí không vì KHẢ NĂNG BÁN ĐƯỢC hoặc SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ.
g++ --version
g++ (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
Bản quyền (C) 2019 Tổ chức phần mềm miễn phí, Inc.
Đây là phần mềm miễn phí; xem nguồn để biết điều kiện sao chép. Không có
sự bảo đảm; thậm chí không vì KHẢ NĂNG BÁN ĐƯỢC hoặc SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ.
oaxaca@wasayama ~/src/doitt/github.com/OpenKinect/libfreenect2/build $ cmake ..
Cảnh báo CMake (nhà phát triển) tại /usr/share/cmake-3.16/Modules/FindOpenGL.cmake:275 (tin nhắn):
Chính sách CMP0072 chưa được đặt: FindOpenGL ưu tiên GLVND theo mặc định khi
có sẵn. Chạy "cmake --help-policy CMP0072" để biết chi tiết về chính sách. Sử dụng
lệnh cmake_policy để đặt chính sách và chặn cảnh báo này.
FindOpenGL đã tìm thấy cả thư viện GL kế thừa:
OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
và thư viện GLVND cho OpenGL và GLX:
OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so
OpenGL_GL_PREFERENCE chưa được đặt thành "GLVND" hoặc "LEGACY", vì vậy đối với
khả năng tương thích với CMake 3.10 trở xuống, thư viện GL kế thừa sẽ được sử dụng.
Ngăn xếp cuộc gọi (cuộc gọi gần đây nhất trước):
CMakeLists.txt:269 (FIND_PACKAGE)
Cảnh báo này dành cho các nhà phát triển dự án. Sử dụng -Wno-dev để chặn nó.
/usr/lib/x86_64-linux-gnu/libusb-1.0.so
pthread
va-drm
va
/usr/lib/x86_64-linux-gnu/libjpeg.so
/usr/lib/x86_64-linux-gnu/libturbojpeg.so.0
/usr/lib/x86_64-linux-gnu/libglfw.so
/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/libOpenCL.so
/usr/local/cuda/lib64/libcudart_static.a
-lpthread
đl
/usr/lib/x86_64-linux-gnu/librt.so
Tệp helper_math.h sống ở đâu?
oaxaca@wasayama ~/src/doitt/github.com/OpenKinect/libfreenect2/build $ make -j16
Quét phụ thuộc của mục tiêu generate_resources_tool
[ 3%] Xây dựng đối tượng CXX CMakeFiles/generate_resources_tool.dir/tools/generate_resources.cpp.o
[ 6%] Liên kết thùng thực thi CXX/generate_resources_tool
[ 6%] Công cụ tạo mục tiêu được tạo_resources_tool
[ 15%] Đang tạo tài nguyên.inc.h
[ 15%] Xây dựng đối tượng NVCC (Thiết bị) CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o
[ 15%] Xây dựng đối tượng NVCC (Thiết bị) CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_depth_packet_processor.cu.o
/home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/src/cuda_depth_packet_processor.cu:31:10: lỗi nghiêm trọng: helper_math.h: Không có tệp hoặc thư mục như vậy
31 |
| ^~~~~~~~~~~~~~~~~~~
biên dịch chấm dứt.
/home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/src/cuda_kde_depth_packet_processor.cu:39:10: lỗi nghiêm trọng: helper_math.h: Không có tệp hoặc thư mục như vậy
39 |
| ^~~~~~~~~~~~~~~~~~~
biên dịch chấm dứt.
Lỗi CMake tại cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (tin nhắn):
Tạo lỗi
/home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/build/CMakeFiles/cuda_compile_1.dir/src/./cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o
Lỗi CMake tại cuda_compile_1_generated_cuda_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (tin nhắn):
Tạo lỗi
/home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/build/CMakeFiles/cuda_compile_1.dir/src/./cuda_compile_1_generated_cuda_depth_packet_processor.cu.o
make[2]: *** [CMakeFiles/freenect2.dir/build.make:84: CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o] Lỗi 1
make[2]: ***Đang đợi những công việc còn dang dở....
make[2]: *** [CMakeFiles/freenect2.dir/build.make:77: CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_depth_packet_processor.cu.o] Lỗi 1
make[1]: *** [CMakeFiles/Makefile2:118: CMakeFiles/freenect2.dir/all] Lỗi 2
thực hiện: *** [Tệp tạo tệp: 130: tất cả] Lỗi 2