în general, găsesc că este mai bine să rămân la oricare dintre versiunile Ubuntu LTS... 18.04 sau 20.04 etc... deoarece acestea tind să fie mai bine susținute de lucruri precum driverele nvidia etc.
Deci sunt pe Ubuntu 20.04 și am instalat cuda făcând asta
eliminați toate acele link-uri simbolice pe care le-ați creat pentru a suprascrie versiunile compilatorului
Software și actualizări -> Drivere suplimentare -> alege Nouveau
cd /var/crash # eliminați toate fișierele de aici
cd /etc/apt
grep -r cuda * # vă oferă, de exemplu, fișierul /etc/apt/sources.list.d/cuda-ubuntu2004-11-6-local.list
acum eliminați orice fișier returnat de comanda de mai sus sau doar comentați toate liniile din interiorul fișierului (fișierelor)
reporniți
Acum instalați cuda (se va instala automat driverele nvidia potrivite, DAR trebuie să începeți de la a utiliza Nouveau)
https://developer.nvidia.com/cuda-downloads
Linux -> x86_64 -> Ubuntu -> 20.04 -> deb (local)
mai sus vă duce la link
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local
mai sus vă arată pur și simplu dedesubt pe care apoi vă emiteți
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 update
sudo apt-get -y install cuda
reporniți
nvidia-smi
Luni 17 ian 13:20:46 2022
+--------------------------------------------- ----------------------------+
| NVIDIA-SMI 510.39.01 Versiune driver: 510.39.01 Versiune CUDA: 11.6 |
|-------------------------------+------------------ -----+----------------------+
| Persistența numelui GPU-M| Autobuz-Id Disp.A | Volatil Uncorr. ECC |
| Fan Temp Perf Pwr:Utilizare/Cap| Utilizarea memoriei | GPU-Util Compute M. |
| | | MIG M. |
|================================+================== =====+=======================|
| 0 NVIDIA GeForce ... Pornit | 00000000:02:00.0 Activat | N/A |
| 0% 56C P0 29W / 190W | 1362 MiB / 6144 MiB | 25% Implicit |
| | | N/A |
+-------------------------------+----------------- -----+----------------------+
+--------------------------------------------- ----------------------------+
| Procese: |
| GPU GI CI Tip PID Nume proces Memorie GPU |
| ID ID Utilizare |
|=================================================== =============================|
| 0 N/A N/A 1280 G /usr/lib/xorg/Xorg 101MiB |
| 0 N/A N/A 1965 G /usr/lib/xorg/Xorg 656MiB |
| 0 N/A N/A 2110 G /usr/bin/gnome-shell 82MiB |
| 0 N/A N/A 2493 G ...AAAAAAAAA= --shared-files 19MiB |
| 0 N/A N/A 4865 G ...167530988844266480,131072 19MiB |
| 0 N/A N/A 6981 G ...axaca/src/firefox/firefox 230MiB |
| 0 N/A N/A 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: driver de compilator NVIDIA (R) Cuda
Drepturi de autor (c) 2005-2021 NVIDIA Corporation
Construit pe Fri_Dec_17_18:16:03_PST_2021
Instrumente de compilare Cuda, versiunea 11.6, V11.6.55
Build cuda_11.6.r11.6/compiler.30794723_0
cat proc/driver/nvidia/version
Versiunea NVRM: NVIDIA UNIX x86_64 Kernel Module 510.39.01 Vin. 31 Dec 11:03:22 UTC 2021
Versiunea GCC: versiunea gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04)
Odată ce faci mai sus, repo-ul tău git se compilează OK, după cum se arată mai jos
gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
Drepturi de autor (C) 2019 Free Software Foundation, Inc.
Acesta este software gratuit; consultați sursa pentru condițiile de copiere. Nu este
garanție; nici măcar pentru VANTABILITATE sau ADEPTEREA PENTRU UN ANUMIT SCOP.
g++ --versiune
g++ (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
Drepturi de autor (C) 2019 Free Software Foundation, Inc.
Acesta este software gratuit; consultați sursa pentru condițiile de copiere. Nu este
garanție; nici măcar pentru VANTABILITATE sau ADEPTEREA PENTRU UN ANUMIT SCOP.
oaxaca@wasayama ~/src/doitt/github.com/OpenKinect/libfreenect2/build $ cmake ..
-- Identificarea compilatorului C este GNU 9.4.0
-- Identificarea compilatorului CXX este GNU 9.4.0
-- Verificați dacă compilatorul C funcționează: /usr/bin/cc
-- Verificați dacă compilatorul C funcționează: /usr/bin/cc -- funcționează
-- Detectarea informațiilor ABI al compilatorului C
-- Detectarea informațiilor ABI al compilatorului C - gata
-- Detectarea caracteristicilor de compilare C
-- Detectarea caracteristicilor de compilare C - gata
-- Verificați dacă compilatorul CXX funcționează: /usr/bin/c++
-- Verificați dacă compilatorul CXX funcționează: /usr/bin/c++ -- funcționează
-- Detectarea informațiilor ABI al compilatorului CXX
-- Detectarea informațiilor ABI al compilatorului CXX - gata
-- Detectarea caracteristicilor de compilare CXX
-- Detectarea caracteristicilor de compilare CXX - gata
-- folosind tinythread ca bibliotecă de threading
-- PkgConfig găsit: /usr/bin/pkg-config (versiunea găsită „0.29.1”)
-- Verificarea modulului „libusb-1.0>=1.0.20”
-- S-a găsit libusb-1.0, versiunea 1.0.23
-- Verificarea modulelor „libva;libva-drm”
-- S-a găsit libva, versiunea 1.7.0
-- S-a găsit libva-drm, versiunea 1.7.0
-- JPEG găsit: /usr/lib/x86_64-linux-gnu/libjpeg.so (versiunea găsită „80”)
-- NU s-a putut găsi TegraJPEG (lipsește: TegraJPEG_LIBRARIES TegraJPEG_INCLUDE_DIRS TegraJPEG_WORKS)
-- Se efectuează testul TURBOJPEG_WORKS
-- Efectuarea testului TURBOJPEG_WORKS - Succes
-- TurboJPEG găsit: /usr/lib/x86_64-linux-gnu/libturbojpeg.so.0
-- Verificarea modulului „glfw3”
-- S-a găsit glfw3, versiunea 3.3.2
Avertisment CMake (dev) la /usr/share/cmake-3.16/Modules/FindOpenGL.cmake:275 (mesaj):
Politica CMP0072 nu este setată: FindOpenGL preferă GLVND în mod implicit când
disponibil. Rulați „cmake --help-policy CMP0072” pentru detalii despre politică. Folosește
comanda cmake_policy pentru a seta politica și a suprima acest avertisment.
FindOpenGL a găsit atât o bibliotecă GL moștenită:
OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
și biblioteci GLVND pentru OpenGL și 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 nu a fost setat la „GLVND” sau „LEGACY”, deci pentru
va fi utilizată compatibilitatea cu CMake 3.10 și mai jos, biblioteca GL moștenită.
Stack de apeluri (cel mai recent apel mai întâi):
CMakeLists.txt:269 (FIND_PACKAGE)
Acest avertisment este pentru dezvoltatorii de proiecte. Utilizați -Wno-dev pentru a-l suprima.
-- S-a găsit OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Se caută CL_VERSION_2_0
-- Se caută CL_VERSION_2_0 - găsit
-- S-a găsit OpenCL: /usr/lib/x86_64-linux-gnu/libOpenCL.so (s-a găsit versiunea „2.0”)
-- Efectuarea testului OpenCL_C_WORKS
-- Efectuarea testului OpenCL_C_WORKS - Succes
-- Efectuarea testului OpenCL_CXX_WORKS
-- Efectuarea testului OpenCL_CXX_WORKS - Succes
-- Caut pthread.h
-- Căutând pthread.h - găsit
-- Se efectuează testul CMAKE_HAVE_LIBC_PTHREAD
-- Efectuarea testului CMAKE_HAVE_LIBC_PTHREAD - Eșuat
-- Căutăm pthread_create în pthreads
-- Se caută pthread_create în pthreads - nu a fost găsit
-- Căutăm pthread_create în pthread
-- Căutând pthread_create în pthread - găsit
-- Threads găsite: TRUE
-- CUDA găsit: /usr/local/cuda (versiunea găsită „11.6”)
-- Se efectuează testul COMPILER_HAS_HIDDEN_VISIBILITY
-- Se efectuează testul COMPILER_HAS_HIDDEN_VISIBILITY - Succes
-- Se efectuează testul COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Se efectuează testul COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Succes
-- Se efectuează testul COMPILER_HAS_DEPRECATED_ATTR
-- Se efectuează testul COMPILER_HAS_DEPRECATED_ATTR - Succes
-- Conectarea cu aceste biblioteci:
/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
dl
/usr/lib/x86_64-linux-gnu/librt.so
-- Doxygen găsit: /usr/bin/doxygen (versiunea găsită „1.8.17”) Componente găsite: doxygen dot
-- Exemple de configurare
-- Folosind ținta freenect2 în arbore
-- Verificarea modulului „libopenni2”
-- S-a găsit libopenni2, versiunea 2.2.0.3
-- S-a găsit OpenNI2: /usr/lib
-- Listă de caracteristici:
-- CUDA da
-- CXX11 dezactivat
-- Exemple da
-- OpenCL da
-- OpenGL da
-- OpenNI2 da
-- TegraJPEG nr
-- Threading tinythread
-- TurboJPEG da
-- VAAPI da
-- VideoToolbox nu (numai Apple)
-- streamer_recorder dezactivat
-- Configurare finalizată
-- Generarea gata
-- Fișierele de compilare au fost scrise pe: /home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/build
Unde se află fișierul helper_math.h?
oaxaca@wasayama ~/src/doitt/github.com/OpenKinect/libfreenect2/build $ make -j16
Dependențe de scanare ale țintei generate_resources_tool
[ 3%] Construirea obiectului CXX CMakeFiles/generate_resources_tool.dir/tools/generate_resources.cpp.o
[ 6%] Conectarea executabilului CXX bin/generate_resources_tool
[ 6%] Țintă construită generate_resources_tool
[ 15%] Generarea de resurse.inc.h
[ 15%] Construirea obiectului NVCC (Dispozitiv) CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o
[ 15%] Construirea obiectului NVCC (Dispozitiv) 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: eroare fatală: helper_math.h: Nu există un astfel de fișier sau director
31 | #include <helper_math.h>
| ^~~~~~~~~~~~~~~~
compilarea s-a încheiat.
/home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/src/cuda_kde_depth_packet_processor.cu:39:10: eroare fatală: helper_math.h: Nu există un astfel de fișier sau director
39 | #include <helper_math.h>
| ^~~~~~~~~~~~~~~~
compilarea s-a încheiat.
Eroare CMake la cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (mesaj):
Eroare la generare
/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
Eroare CMake la cuda_compile_1_generated_cuda_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (mesaj):
Eroare la generare
/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] Eroare 1
make[2]: *** Aștept lucrări neterminate....
make[2]: *** [CMakeFiles/freenect2.dir/build.make:77: CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_depth_packet_processor.cu.o] Eroare 1
make[1]: *** [CMakeFiles/Makefile2:118: CMakeFiles/freenect2.dir/all] Eroare 2
make: *** [Makefile:130: all] Eroare 2