У каждого есть только одна истинная ответственность: найти себя. Затем придерживайтесь этого в своем сердце до конца своей жизни, всем сердцем и никогда не останавливайтесь. Все остальные дороги несовершенны, человеческие средства бегства, трусливое возвращение к народным идеалам, дрейфование с толпой и внутренний страх - Герман Гессе, "Демиан"
Системная среда
┌──[root@test]-[~]
└─$hostnamectl
Static hostname: test
Icon name: computer-desktop
Chassis: desktop
Machine ID: addc7ca21ef24518a9465c499eb3c8b7
Boot ID: 14aa59cc6960431c95d328684b521844
Operating System: Ubuntu 22.04.2 LTS
Kernel: Linux 5.19.0-43-generic
Architecture: x86-64
Hardware Vendor: Micro-Star International Co., Ltd.
Hardware Model: MS-7C83
Версия видеокарты
┌──[root@test]-[~]
└─$lspci -vnn | grep VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] [10de:2504] (rev a1) (prog-if 00 [VGA controller])
┌──[root@test]-[~]
└─$
Установить NVIDIA водитель,существовать Установить До,нуждаться Запрещать Nouveau
водитель.
Nouveau
Водитель видеокарты NVIDIA с открытым исходным кодом,Он разрабатывается и поддерживается сообществом. Он может заменить официального водителя NVIDIA в системах Linux.,Но его характеристики и функциональность могут быть не такими хорошими, как у официального водителя.
Если вы используете Nouveau водитель,Возможно, вы не сможете использовать расширенные функции NVIDIA.,Такие как CUDA и библиотеки глубокого обучения. Если вам нужно использовать эти функции,предположение УстановитьNVIDIAчиновникводитель.
Отключить драйвер Nouveau
┌──[root@test]-[~]
└─$sudo vim /etc/modprobe.d/blacklist-nouveau.conf
┌──[root@test]-[~]
└─$cat /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
┌──[root@test]-[~]
└─$sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.19.0-43-generic
Нет никаких выходных данных, указывающих на то, что операция прошла успешно.
┌──[root@test]-[~]
└─$reboot
┌──[root@test]-[~]
└─$lsmod | grep nouveau
┌──[root@test]-[~]
└─$
версия здесь nvidia-driver-510
До и позади Установить cuda
Та же версия
# Посмотреть модель видеокарты
lspci -vnn | grep VGA
# Удалить старый драйвер
sudo apt-get remove --purge nvidia*
Если вам нужно выполнить поиск вручную в автономной среде, загрузите драйвер: https://www.nvidia.com/Download/index.aspx?lang=en-us
# Предоставьте права запуска исполняемому файлу
sudo chmod a+x NVIDIA-Linux-x86_64-515.86.01.run
# Установить
sudo ./NVIDIA-Linux-x86_64-440.64.run -no-x-check -no-nouveau-check -no-opengl-files
# -no-x-check: отключить службу X, когда «Установить» едет.
# -no-nouveau-check:Установить Во время вождения Запрещатьnouveau
# -no-opengl-files: устанавливать только файлы драйверов, а не файлы OpenGL.
В автономной среде используйте инструмент управления пакетами Установить, следующую выборку, меню Установить версию драйвера.
┌──[root@test]-[~]
└─$ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002504sv00001462sd0000397Dbc03sc00i00
vendor : NVIDIA Corporation
model : GA106 [GeForce RTX 3060 Lite Hash Rate]
driver : nvidia-driver-530-open - distro non-free
driver : nvidia-driver-470 - distro non-free
driver : nvidia-driver-525-open - third-party non-free
driver : nvidia-driver-535 - third-party non-free
driver : nvidia-driver-520 - third-party non-free
driver : nvidia-driver-510 - distro non-free
driver : nvidia-driver-525 - third-party non-free
driver : nvidia-driver-515-server - distro non-free
driver : nvidia-driver-535-open - third-party non-free recommended
driver : nvidia-driver-530 - third-party non-free
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-515-open - distro non-free
driver : nvidia-driver-525-server - distro non-free
driver : nvidia-driver-515 - third-party non-free
driver : xserver-xorg-video-nouveau - distro free builtin
┌──[root@test]-[~]
└─$
Установить
┌──[root@test]-[~]
└─$sudo apt install nvidia-driver-510 -y
Перезагрузите машину.
┌──[root@test]-[~]
└─$reboot
Проверьте успешность установки и соответствующую информацию о версии.
┌──[root@test]-[~]
└─$nvidia-smi
Thu Jun 15 11:49:43 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.108.03 Driver Version: 510.108.03 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
| 0% 38C P8 16W / 170W | 172MiB / 12288MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1386 G /usr/lib/xorg/Xorg 60MiB |
| 0 N/A N/A 1650 G /usr/bin/gnome-shell 109MiB |
+-----------------------------------------------------------------------------+
┌──[root@test]-[~]
└─$cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 510.108.03 Thu Oct 20 05:10:45 UTC 2022
GCC version: gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1)
┌──[root@test]-[~]
└─$
CUDA
даNVIDIAПредоставляется платформа параллельных вычислений и модель программирования.,Разработан для использования параллельной вычислительной мощности графических процессоров для ускорения ресурсоемких приложений.
CUDAвключатьРуководство по CUDA и набор инструментов CUDA
。Поддержка нескольких языков программирования,Включая C, C++, Fortran и Python и т. д.
Если вы использовали его раньше, удалите его
sudo /usr/local/cuda-11.6/bin/cuda-uninstaller
sudo rm -rf /usr/local/cuda-11.6
sudo: /usr/local/cuda-11.8/bin/uninstall_cuda_8.0.pl: command not found
┌──[root@test]-[~]
└─$sudo /usr/local/cuda-11.6/bin/
bin2c cuda-gdbserver ncu nsys-ui nv-nsight-cu-cli
computeprof cuda-memcheck ncu-ui nvcc nvprof
compute-sanitizer cuda-uninstaller nsight_ee_plugins_manage.sh __nvcc_device_query nvprune
crt/ cu++filt nsight-sys nvdisasm nvvp
cudafe++ cuobjdump nsys nvlink ptxas
cuda-gdb fatbinary nsys-exporter nv-nsight-cu
┌──[root@test]-[~]
└─$sudo /usr/local/cuda-11.6/bin/cuda-uninstaller
В выходном терминале UIстраница,Пространство выборвсе,выбирать Заканчивать,После завершения удаления повторите попытку
┌──[root@test]-[~]
└─$sudo /usr/local/cuda-11.6/bin/cuda-uninstaller
Successfully uninstalled
┌──[root@test]-[~]
└─$sudo rm -rf /usr/local/cuda-11.6
Официальный сайт Установить загрузку пакета
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=runfile_local
┌──[root@test]-[~]
└─$chmod +x cuda_*
куда здесь выбирать cuda_11.6.0_510.39.01_linux.run
, 510 Соответствующая версия
┌──[root@test]-[~]
└─$ll cuda*
-rwxr-xr-x 1 root root 3488951771 январь 11 2022 cuda_11.6.0_510.39.01_linux.run*
-rwxr-xr-x 1 root root 3490450898 Может 5 2022 cuda_11.7.0_515.43.04_linux.run*
-rwxr-xr-x 1 root root 4317456991 апрель 17 23:04 cuda_12.1.1_530.30.02_linux.run*
-rwxr-xr-x 1 root root 853 Может 17 19:52 cuda_log.log*
-rw-r--r-- 1 root root 2472241638 Июль 29 2021 cuda-repo-ubuntu2004-11-4-local_11.4.1-470.57.02-1_amd64.deb
-rw-r--r-- 1 root root 2699477842 Может 5 2022 cuda-repo-ubuntu2204-11-7-local_11.7.0-515.43.04-1_amd64.deb
┌──[root@test]-[~]
└─$
┌──[root@test]-[~]
└─$sudo ./cuda_12.1.1_530.30.02_linux.run
Мы уже установили драйвер выше, поэтому нет необходимости устанавливать его напрямую. cuda Если это актуально, «Установить» успешно выводится.
┌──[root@test]-[~]
└─$sudo ./cuda_11.6.0_510.39.01_linux.run
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-11.6/
Please make sure that
- PATH includes /usr/local/cuda-11.6/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-11.6/lib64, or, add /usr/local/cuda-11.6/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.6/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 510.00 is required for CUDA 11.6 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run --silent --driver
Logfile is /var/log/cuda-installer.log
Добавьте соответствующие переменные среды
┌──[root@test]-[/b1205]
└─$echo $LD_LIBRARY_PATH
/usr/local/cuda-11.6/lib64:/usr/local/cuda-11.6/lib64
┌──[root@test]-[/b1205]
└─$echo $PATH
/usr/local/cuda-11.6/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
┌──[root@test]-[/b1205]
└─$
cuDNN
даNVIDIAПредоставляет библиотеку ускорения для глубоких нейронных сетей.,Он может оптимизировать свертку, объединение, нормализацию и другие операции.,Скорость глубоких нейронных сетей на графическом процессоре была значительно улучшена. cuDNN необходимо использовать с CUDA,Итак, прежде чем УстановитьcuDNN,Сначала вам необходимо установить соответствующую версию CUDA.
https://developer.nvidia.com/rdp/cudnn-download
Вам необходимо зарегистрировать аккаунт и войти в систему, а затем скачать его здесь
https://developer.nvidia.com/rdp/cudnn-archive
выбиратьcudaСоответствующая версия
┌──[root@test]-[~]
└─$ls cudnn*
cudnn-local-repo-ubuntu2204-8.8.1.3_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.8.1.3_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudoapt-get install libcudnn8=8.8.1.3-1+cuda1
sudo apt-get install libcudnn8-dev=8.8.1.3-1+cuda1
sudo apt-get install libcudnn8-samples=8.8.1.3-1+cuda1
┌──[root@test]-[~]
└─$nvcc -V && nvidia-smi
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Fri_Dec_17_18:16:03_PST_2021
Cuda compilation tools, release 11.6, V11.6.55
Build cuda_11.6.r11.6/compiler.30794723_0
Thu Jun 15 14:42:58 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.108.03 Driver Version: 510.108.03 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
| 0% 51C P8 21W / 170W | 105MiB / 12288MiB | 12% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1386 G /usr/lib/xorg/Xorg 81MiB |
| 0 N/A N/A 1650 G /usr/bin/gnome-shell 22MiB |
+-----------------------------------------------------------------------------+
┌──[root@test]-[~]
└─$
Написать тест-скрипт тест
(py39) test@test:~/code/Face$ cat cuda_vim.py
import numpy as np
import time
from numba import cuda
@cuda.jit
def increment_kernel(array):
idx = cuda.grid(1)
if idx < array.size:
array[idx] += 1
def main():
n = 1000000000
a = np.zeros(n, dtype=np.int32)
threads_per_block = 1024
blocks_per_grid = (n + threads_per_block - 1) // threads_per_block
start = time.time()
increment_kernel[blocks_per_grid, threads_per_block](a)
end = time.time()
print("Time taken: ", end - start)
if __name__ == "__main__":
while True:
main()
(py39) test@test:~/code/Face$
Every 2.0s: nvidia-smi test: Thu Jun 15 14:44:47 2023
Thu Jun 15 14:44:47 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.108.03 Driver Version: 510.108.03 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
| 0% 55C P2 51W / 170W | 4025MiB / 12288MiB | 22% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1386 G /usr/lib/xorg/Xorg 81MiB |
| 0 N/A N/A 1650 G /usr/bin/gnome-shell 22MiB |
| 0 N/A N/A 32031 C python 3917MiB |
+-----------------------------------------------------------------------------+
530
Более высокая версия сообщает о следующей ошибке:┌──[root@test]-[~]
└─$sudo ./cuda_12.1.1_530.30.02_linux.run
Error! Could not locate dkms.conf file.
File: /var/lib/dkms/nvidia-fs/2.15.3/source/dkms.conf does not exist.
cat: /var/log/nvidia/.uninstallManifests/kernelobjects-components/uninstallManifest-nvidia_fs: No such file or directory
make: *** No rule to make target 'uninstall'. Stop.
Error! DKMS tree already contains: nvidia-fs-2.15.3
You cannot add the same module/version combo more than once.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-12.1/
Please make sure that
- PATH includes /usr/local/cuda-12.1/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-12.1/lib64, or, add /usr/local/cuda-12.1/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-12.1/bin
To uninstall the kernel objects, run ko-uninstaller in /usr/local/kernelobjects/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 530.00 is required for CUDA 12.1 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run --silent --driver
Logfile is /var/log/cuda-installer.log
┌──[root@test]-[~]
└─$
Решение,Заменен на более низкую версию510
┌──[root@test]-[~]
└─$nvvp
Nvvp: Cannot open display:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.eclipse.osgi.storage.FrameworkExtensionInstaller (file:/usr/local/cuda-11.6/libnvvp/plugins/org.eclipse.osgi_3.10.1.v20140909-1633.jar) to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers of org.eclipse.osgi.storage.FrameworkExtensionInstaller
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Nvvp: Cannot open display:
Nvvp:
An error has occurred. See the log file
/usr/local/cuda-11.6/libnvvp/configuration/1686795694122.log.
┌──[root@test]-[~]
└─$
Среда ssh не работает, необходимо создать среду рабочего стола
Выполняется в среде рабочего стола, сообщается об ошибке
Gtk-Message: 09:10:26.571: Failed to load module "canberra-gtk-module"
Установитьниже Установить Сумка
┌──[root@test]-[~]
└─$sudo apt-get install libcanberra-gtk-module
nvidia-driver-530-open
— это драйвер NVIDIA, включенный в платный репозиторий дистрибутива, который поддерживается сопровождающим дистрибутива. Это означает, что он тесно интегрирован с остальной частью дистрибутива, поддерживается и обновляется его сопровождающими.
nvidia-driver-530
датретья сторона Нетбесплатноводитель,Он не поддерживается сопровождающим дистрибутива. Напротив,Предоставляется корпорацией NVIDIA.,И может потребоваться ручная установка и настройка. Поскольку это не предусмотрено сопровождающим дистрибутива.,Таким образом, вы можете не получить тот же уровень интеграции и поддержки, что и дистрибутив.
nvidia-driver-530-open — это более поддерживаемый и интегрированный выбор, тогда как nvidia-driver-530 требует большей ручной настройки и поддержки.
nvidia-driver-530-open : Depends: libnvidia-gl-530 (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Depends: nvidia-dkms-530-open (<= 530.41.03-1)
Depends: nvidia-dkms-530-open (>= 530.41.03)
Depends: nvidia-kernel-common-530 (<= 530.41.03-1) but it is not going to be installed
Depends: nvidia-kernel-common-530 (>= 530.41.03) but it is not going to be installed
Depends: nvidia-kernel-source-530-open (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Depends: libnvidia-compute-530 (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Depends: libnvidia-extra-530 (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Depends: nvidia-compute-utils-530 (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Depends: libnvidia-decode-530 (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Depends: libnvidia-encode-530 (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Depends: nvidia-utils-530 (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Depends: xserver-xorg-video-nvidia-530 (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Depends: libnvidia-cfg1-530 (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Depends: libnvidia-fbc1-530 (= 530.41.03-0ubuntu0.22.04.2) but it is not going to be installed
Recommends: libnvidia-compute-530:i386 (= 530.41.03-0ubuntu0.22.04.2)
Recommends: libnvidia-decode-530:i386 (= 530.41.03-0ubuntu0.22.04.2)
Recommends: libnvidia-encode-530:i386 (= 530.41.03-0ubuntu0.22.04.2)
Recommends: libnvidia-fbc1-530:i386 (= 530.41.03-0ubuntu0.22.04.2)
Recommends: libnvidia-gl-530:i386 (= 530.41.03-0ubuntu0.22.04.2)
E: Unable to correct problems, you have held broken packages.
В качестве решения я попробовал следующие методы, но они не разрешились. Менять или нет? open
версия
# Обновите список пакетов и установленные пакеты:
sudo apt update
sudo apt upgrade
# Попробуйте использовать следующие команды для восстановления возможно сломанных пакетов:
sudo apt --fix-broken install
# Используйте следующую команду, чтобы очистить кеш существующих пакетов в вашей системе:
sudo apt clean
# Попробуйте использовать следующую команду, чтобы удалить поврежденный пакет и переустановить его.
sudo apt remove nvidia-driver-530-open
sudo apt autoremove
sudo apt install nvidia-driver-530-open
© Авторские права на ссылки в этой статье принадлежат оригинальному автору. Если есть какие-либо нарушения, пожалуйста, сообщите нам. Это проект с открытым исходным кодом. Если вы его одобряете, не скупитесь на звезды :)
https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html
https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#id8
https://blog.51cto.com/u_4029519/5909904