в общем, я считаю, что лучше всего придерживаться любого из выпусков Ubuntu LTS ... 18.04 или 20.04 и т. д. ... поскольку они, как правило, лучше поддерживаются такими вещами, как драйверы nvidia и т. д.
Итак, я на Ubuntu 20.04, и я установил cuda, сделав это
удалите все те символические ссылки, которые вы создали, чтобы переопределить версии компилятора
Программное обеспечение и обновления -> Дополнительные драйверы -> выберите Nouveau
cd /var/crash # удалить все файлы здесь
компакт-диск /etc/apt
grep -r cuda * # дает вам, например, файл /etc/apt/sources.list.d/cuda-ubuntu2004-11-6-local.list
теперь удалите любой файл, возвращенный вышеуказанной командой, или просто закомментируйте все строки внутри указанного файла (файлов)
перезагрузка
Теперь установите cuda (он автоматически установит соответствующие драйверы nvidia, НО вы должны начать с использования Nouveau)
https://developer.nvidia.com/cuda-downloads
Linux -> x86_64 -> Ubuntu -> 20.04 -> deb (локальный)
выше приводит вас к ссылке
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local
выше просто показывает вам, ниже которого вы затем выдаете себя
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 добавить /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub
sudo apt-получить обновление
sudo apt-get -y установить cuda
перезагрузка
nvidia-smi
Пн Янв 17 13:20:46 2022
+--------------------------------------------- ----------------------------+
| NVIDIA-SMI 510.39.01 Версия драйвера: 510.39.01 Версия CUDA: 11.6 |
|-------------------------------+---------------- -----+----------------------+
| Имя GPU Persistence-M| Bus-Id Disp.A | Летучий некорр. ЕСК |
| Мощность вентилятора Temp Perf:Использование/Ограничение| Использование памяти | GPU-Util Compute M. |
| | | МИГ М. |
|===============================+================= =====+======================|
| 0 NVIDIA GeForce ... Вкл. | 00000000:02:00.0 Вкл. | Н/Д |
| 0% 56C P0 29 Вт / 190 Вт | 1362 МБ / 6144 МБ | 25% по умолчанию |
| | | Н/Д |
+---------------------------------------------+---------------- -----+----------------------+
+--------------------------------------------- ----------------------------+
| Процессы: |
| GPU GI CI PID Тип Имя процесса Память GPU |
| ID Использование ID |
|================================================ =============================|
| 0 Н/Д Н/Д 1280 G /usr/lib/xorg/Xorg 101MiB |
| 0 Н/Д Н/Д 1965 G /usr/lib/xorg/Xorg 656MiB |
| 0 Н/Д Н/Д 2110 G /usr/bin/gnome-shell 82MiB |
| 0 Н/Д Н/Д 2493 G ...AAAAAAAAAA= --shared-files 19MiB |
| 0 Н/Д Н/Д 4865 G ...167530988844266480,131072 19МиБ |
| 0 Н/Д Н/Д 6981 G ...axaca/src/firefox/firefox 230 МБ |
| 0 Н/Д Н/Д 8585 G ...AAAAAAAAAA= --shared-files 39MiB |
| 0 Н/Д Н/Д 10141 G ...AAAAAAAAAA= --shared-files 68MiB |
| 0 Н/Д Н/Д 10638 G ...AAAAAAAAAA= --shared-files 114МиБ |
+--------------------------------------------- ----------------------------+
nvcc --версия
nvcc: драйвер компилятора NVIDIA (R) Cuda
Авторское право (c) 2005-2021 Корпорация NVIDIA
Дата сборки: пт_дек_17_18:16:03_PST_2021
Инструменты компиляции Cuda, выпуск 11.6, V11.6.55
Сборка cuda_11.6.r11.6/compiler.30794723_0
cat proc/драйвер/nvidia/версия
Версия NVRM: модуль ядра NVIDIA UNIX x86_64 510.39.01, пятница, 31 декабря, 11:03:22 UTC 2021
Версия GCC: версия gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04)
Как только вы сделаете выше, ваш репозиторий git компилируется нормально, как показано ниже.
gcc --версия
gcc (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
Авторское право (C) 2019 Free Software Foundation, Inc.
Это бесплатное программное обеспечение; см. источник условий копирования. Здесь нет
гарантия; даже не для КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ.
г++ --версия
g++ (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
Авторское право (C) 2019 Free Software Foundation, Inc.
Это бесплатное программное обеспечение; см. источник условий копирования. Здесь нет
гарантия; даже не для КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ.
oaxaca@wasayama ~/src/doitt/github.com/OpenKinect/libfreenect2/build $ cmake ..
-- Идентификация компилятора C: GNU 9.4.0.
-- Идентификация компилятора CXX: GNU 9.4.0.
-- Проверить работоспособность компилятора C: /usr/bin/cc
-- Проверить работоспособность компилятора C: /usr/bin/cc -- работает
-- Обнаружение информации ABI компилятора C
-- Обнаружение информации ABI компилятора C - сделано
-- Обнаружение особенностей компиляции C
-- Обнаружение особенностей компиляции C - готово
-- Проверить работоспособность компилятора CXX: /usr/bin/c++
-- Проверить работоспособность компилятора CXX: /usr/bin/c++ -- работает
-- Обнаружение информации ABI компилятора CXX
-- Обнаружение информации ABI компилятора CXX - сделано
-- Обнаружение функций компиляции CXX
-- Обнаружение функций компиляции CXX - готово
-- использование tinythread в качестве библиотеки потоков
-- Найден PkgConfig: /usr/bin/pkg-config (найдена версия "0.29.1")
-- Проверка модуля 'libusb-1.0>=1.0.20'
-- Найден libusb-1.0, версия 1.0.23
-- Проверка наличия модулей 'libva;libva-drm'
-- Найдена libva, версия 1.7.0
-- Найдена libva-drm, версия 1.7.0
-- Найден JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (найдена версия "80")
-- НЕ удалось найти TegraJPEG (отсутствует: TegraJPEG_LIBRARIES TegraJPEG_INCLUDE_DIRS TegraJPEG_WORKS)
-- Выполнение теста TURBOJPEG_WORKS
-- Выполнение теста TURBOJPEG_WORKS - Успех
-- Найдено TurboJPEG: /usr/lib/x86_64-linux-gnu/libturbojpeg.so.0
-- Проверка модуля 'glfw3'
-- Найден glfw3, версия 3.3.2
Предупреждение CMake (dev) в /usr/share/cmake-3.16/Modules/FindOpenGL.cmake:275 (сообщение):
Политика CMP0072 не задана: FindOpenGL по умолчанию предпочитает GLVND, когда
имеется в наличии. Запустите «cmake --help-policy CMP0072», чтобы узнать подробности политики. Использовать
cmake_policy для установки политики и подавления этого предупреждения.
FindOpenGL нашел обе устаревшие библиотеки GL:
OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
и библиотеки GLVND для OpenGL и 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 не был установлен в «GLVND» или «LEGACY», поэтому для
совместимость с CMake 3.10 и ниже будет использоваться устаревшая библиотека GL.
Стек вызовов (сначала самый последний вызов):
CMakeLists.txt: 269 (FIND_PACKAGE)
Это предупреждение для разработчиков проекта. Используйте -Wno-dev, чтобы подавить его.
-- Найден OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Ищем CL_VERSION_2_0
-- Ищу CL_VERSION_2_0 - нашел
-- Найден OpenCL: /usr/lib/x86_64-linux-gnu/libOpenCL.so (найдена версия "2.0")
-- Выполнение теста OpenCL_C_WORKS
-- Выполнение теста OpenCL_C_WORKS - Успех
-- Выполнение теста OpenCL_CXX_WORKS
-- Выполнение теста OpenCL_CXX_WORKS – Успех
-- Ищем pthread.h
-- Ищем pthread.h - найдено
-- Выполнение теста CMAKE_HAVE_LIBC_PTHREAD
-- Выполнение теста CMAKE_HAVE_LIBC_PTHREAD - Ошибка
-- Ищем pthread_create в pthreads
-- Ищем pthread_create в pthreads - не найдено
-- Ищем pthread_create в pthread
-- Ищем pthread_create в pthread - найдено
-- Найдено тем: ИСТИНА
-- Найдена CUDA: /usr/local/cuda (найдена версия "11.6")
-- Выполнение теста COMPILER_HAS_HIDDEN_VISIBILITY
-- Выполнение теста COMPILER_HAS_HIDDEN_VISIBILITY - Успех
-- Выполнение теста COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Выполнение теста COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Успех
-- Выполнение теста COMPILER_HAS_DEPRECATED_ATTR
-- Выполнение теста COMPILER_HAS_DEPRECATED_ATTR - Успех
-- Связывание с этими библиотеками:
/usr/lib/x86_64-linux-gnu/libusb-1.0.so
пнить
ва-дрм
ва
/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
дл
/usr/lib/x86_64-linux-gnu/librt.so
-- Найден Doxygen: /usr/bin/doxygen (найдена версия "1.8.17") найдены компоненты: doxygen dot
-- Примеры настройки
-- Использование цели freenect2 в дереве
-- Проверка модуля 'libopenni2'
-- Найден libopenni2, версия 2.2.0.3
-- Найден OpenNI2: /usr/lib
-- Список возможностей:
-- CUDA да
-- CXX11 отключен
-- Примеры да
-- OpenCL да
-- OpenGL да
-- OpenNI2 да
-- TegraJPEG нет
-- Пронизывание крошечной нити
-- ТурбоJPEG да
-- ВААПИ да
-- VideoToolbox нет (только для Apple)
-- streamer_recorder отключен
-- Настройка выполнена
-- Генерация завершена
-- Файлы сборки были записаны в: /home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/build
Где находится файл helper_math.h?
oaxaca@wasayama ~/src/doitt/github.com/OpenKinect/libfreenect2/build $ make -j16
Сканирование зависимостей целевого объекта generate_resources_tool
[ 3%] Создание объекта CXX CMakeFiles/generate_resources_tool.dir/tools/generate_resources.cpp.o
[ 6%] Связывание исполняемого файла CXX/generate_resources_tool
[ 6%] Встроенная цель generate_resources_tool
[ 15%] Создание resources.inc.h
[ 15%] Создание объекта NVCC (устройство) CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o
[ 15%] Создание объекта NVCC (устройство) 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: фатальная ошибка: helper_math.h: нет такого файла или каталога
31 | #include <helper_math.h>
| ^~~~~~~~~~~~~~~
компиляция прекращена.
/home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/src/cuda_kde_depth_packet_processor.cu:39:10: фатальная ошибка: helper_math.h: нет такого файла или каталога
39 | #include <helper_math.h>
| ^~~~~~~~~~~~~~~
компиляция прекращена.
Ошибка CMake на cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (сообщение):
Генерация ошибки
/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
Ошибка CMake на cuda_compile_1_generated_cuda_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (сообщение):
Генерация ошибки
/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] Ошибка 1
make[2]: *** Ожидание незавершенных заданий....
make[2]: *** [CMakeFiles/freenect2.dir/build.make:77: CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_depth_packet_processor.cu.o] Ошибка 1
make[1]: *** [CMakeFiles/Makefile2:118: CMakeFiles/freenect2.dir/all] Ошибка 2
make: *** [Makefile:130: all] Ошибка 2