딥러닝에 사용되는 그래픽 카드 드라이버에 대해서만 설명합니다.
NVIDIA-driver-515.105 및 cuda-11.7을 예로 들어 보겠습니다.
1. 그래픽 카드 드라이버 제거
CentOS / RHEL
방법 1: 그래픽 카드 드라이버 .run 파일의 이전 버전을 찾습니다.
sh NVIDIA-Linux-x86_64-418.126.02.run --uninstall
방법 2: 모든 NVIDIA 관련 파일 및 종속성 지우기
yum remove nvidia-*
추가 청소(모든 NVIDIA 드라이버 관련 구성요소 정리):
rpm -qa|grep -i nvid|sort
yum remove kmod-nvidia-*
쿠다 클리어
yum remove "*nvidia*"
yum remove "*cublas*" "cuda*"
드라이버를 제거하고 다시 시작하세요.
sudo reboot
우분투 LTS
커널 시스템이 다르기 때문에 채택되는 명령 방법이 다르다는 점은 주목할 가치가 있습니다.
apt-get은 ubuntu에 속하고 Debian의 패키지 관리 도구
yum은 Redhat에 속하며 Centos 패키지 관리 도구는
삭제할 명령을 선택할 때 먼저 시스템이 무엇인지 스스로 결정해야 합니다.
대신 sudo apt-get purge nvidia-*
에yum remove nvidia-*
sudo apt-get purge nvidia-*
sudo apt-get --purge remove cuda
2. 그래픽 카드 드라이버 설치
기본 지식
그래픽 카드, 그래픽 드라이버, nvcc, cuda 드라이버, cudatoolkit 및 cudnn이란 정확히 무엇입니까? - Zhihu
아마도 지식을 추가했을 것입니다.
CUDA 드라이버 : CUDA 드라이버는 GPU와 통신하는 데 사용되는 소프트웨어 구성 요소로 GPU의 하드웨어 리소스를 관리하고 CUDA 응용 프로그램을 실행하는 역할을 합니다.
CUDA 툴킷 : CUDA 툴킷은 CUDA 드라이버 및 CUDA 런타임 라이브러리를 포함하는 CUDA 애플리케이션을 개발하고 최적화하기 위한 소프트웨어 패키지입니다.
CUDA 런타임 라이브러리 : CUDA 런타임 라이브러리는 GPU에서 CUDA 애플리케이션을 실행하는 데 사용되는 소프트웨어 구성 요소로, GPU 메모리를 관리하고 CUDA 커널을 실행하기 위한 CUDA API 함수 세트를 제공합니다.
전제 조건
시스템에 gcc, g++, tar, make가 설치되어 있는지 확인하고, 설치되어 있지 않은 경우 설치를 위한 yum 소스를 수동으로 구성합니다.
그래픽 카드 버전 명령을 확인하십시오.
# 查看自己的显卡信息
lspci | grep -i nvidia
# GPU驱动版本,driverAPI(支持的最高cuda版本)
nvidia-smi
# 动态监控显卡状态
watch -t -n 1 nvidia-smi
# cuda版本,timeAPI(运行时API)
nvcc -V
그래픽 카드 드라이버, CudaToolkit 및 cudnn의 해당 버전을 쿼리하고 선택합니다.
NVIDIA 그래픽 카드와 cuda 간의 해당 버전 관계를 쿼리합니다. NVIDIA CUDA 툴킷 릴리스 노트
PyTorch와 cuda 간의 해당 버전 관계 쿼리이전 PyTorch 버전
이 문서에서는 NVIDIA-driver-515.105와 cuda-11.7을 선택합니다.
NVIDIA 그래픽 카드 드라이버(NVIDIA 드라이버) 설치
NVIDIA 드라이버를 다운로드합니다 . 온라인인 경우 wget을 사용하여 다운로드하거나 복사 주소를 사용하여 다운로드하여 서버에 복사할 수 있습니다.
권한을 부여하고 설치하세요.
chmod +x NVIDIA-Linux-x86_64-515.105.01.run
./NVIDIA-Linux-x86_64-515.105.01.run -no-x-check
설치 과정 중에 질문이 나타날 수 있습니다. No
계속하려면 선택하세요.
경고가 나타나면 무시하고 설치가 완료될 때까지 계속할 수 있습니다.
> Install NVIDIA's 32-bit compatibillity libraries?
> Yes [No]
문제가 있는 경우 드라이버를 제거할지 여부를 확인하거나 질문 1을 참조하세요../NVIDIA-Linux-x86_64-515.105.01.run -no-x-check
그래픽 카드 드라이버가 성공적으로 설치되었는지 테스트
nvidia-smi
CUDA 설치
CUDA Toolkit 다운로드 주소를 다운로드 받거나 , 이전 버전을 검색하여 CUDA Toolkit 이전 버전 다운로드 주소를 다운로드 받으세요 .
권한을 부여하고 설치하세요.
chmod +x cuda_11.7.1_515.65.01_linux.run
./cuda_11.7.1_515.65.01_linux.run
설치 과정에서 드라이버(드라이브)를 다운로드해야 하는지 묻는 메시지가 나오므로 일반적인 상황에서는 다운로드하지 마시고 '아니요'를 선택하시기 바랍니다.
취소
설치 후에는 다음과 같은 내용이 나타납니다.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-11.7/
Please make sure that
- PATH includes /usr/local/cuda-11.7/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-11.7/lib64, or, add /usr/local/cuda-11.7/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-11.7/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-11.7/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 515.105 is required for CUDA 11.7 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
~/.bashrc
환경 변수를 구성하고 파일 에 다음 내용을 추가합니다 .
파일을 열다
vim ~/.bashrc
cuda 버전 11.7을 설치된 버전(예: cuda-12.2
.
export PATH=/usr/local/cuda-11.7/bin${
PATH:+:${
PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
~/.bashrc
구성이 적용되도록 다음 명령을 사용하여 구성 파일을 새로 고칩니다 .
source ~/.bashrc
nvcc 버전을 테스트하고 쿼리하여 설치가 성공했는지 확인합니다.
nvcc -V
cudnn 설치
cuDNN 다운로드 주소를 다운로드하세요 .
rpm -i cudnn-local-repo-rhel7-8.9.2.26-1.0-1.x86_64.rpm
3. Docker 그래픽 카드 적응
소프트웨어 버전:
Docker: Docker 버전 20.10.9, 빌드 c2ea9bc
CUDA: NVIDIA-SMI 515.105.01 드라이버 버전: 515.105.01 CUDA 버전: 11.7
시스템: CentOS-7
버전 19.03 이후에는 docker가 더 이상 그래픽 카드를 지원하기 위해 nvidia-docker를 독립적으로 설치할 필요가 없으며, docker와 CUDA 환경만 구성하면 됩니다.이제 새로운 방법을 사용하여 NVIDIA Container를 설치하여 그래픽 카드를 호출하는 docker를 지원합니다.
Nvidia-Docker를 설치하려면 Docker-CE와 NVIDIA Container Toolkit의 두 부분을 설치해야 합니다. 즉, Docker-CE가 더 이상 필요하지 않습니다.
NVIDIA-컨테이너-툴킷 아키텍처
NVIDIA 공식 웹사이트의 아키텍처 개요는 Chrome에 내장된 웹페이지 번역기를 사용하여 주의 깊게 읽을 수 있습니다. 이 기사에서는 간략하게 소개합니다.
NVIDIA Container의 주요 구성 요소로는 설치 시 미리 설치해야 하는 , 등이 있으며 , 버전 3.6.0 이후에는 런타임 패키지가 nvidia-container-runtime
패키지 에만 의존하는 패키지가 됩니다. ). 공식 웹사이트에서도 지적되어 있으며, 일반적인 응용 프로그램의 경우 대부분의 요구 사항을 충족할 수 있습니다.nvidia-container-toolkit
libnvidia-container
CUDA驱动
toolkit
nvidia-container-toolkit
패키지 종속성 설치
공식 웹사이트 문서 종속성 다이어그램은 다음과 같습니다.
├─ nvidia-container-toolkit (version)
│ ├─ libnvidia-container-tools (>= version)
│ └─ nvidia-container-toolkit-base (version)
│
├─ libnvidia-container-tools (version)
│ └─ libnvidia-container1 (>= version)
└─ libnvidia-container1 (version)
nvidia-container-toolkit-base는 이제 nvidia-container-toolkit에 포함되어 있으며 더 이상 nvidia-container-runtime을 설치할 필요가 없습니다. (이전 nvidia-docker에서는 nvidia-container-runtime 및 nvidia-docker2라는 두 개의 패키지를 더 설치해야 했습니다.)
위 종속성에 따라 세 가지 소프트웨어 패키지를 순서대로 설치하십시오.
libnvidia-container1 -> libnvidia-container-tools -> nvidia-container-toolkit
오프라인 다운로드 및 설치
오프라인 설치를 위해 여기에서 설치 패키지를 다운로드하세요.
공식 웹사이트에서는 GitHub 링크를 제공합니다.
1. nvidia-container-toolkit
설치 패키지 다운로드 주소
시스템 버전에 해당하는 설치 패키지 다운로드를 찾습니다.
예를 들어 제가 사용하는 CentOS7 시스템에서는 nvidia-container-runtime/stable/centos7/x86_64/
아래 디렉터리에서 nvidia-container-toolkit-1.5.1-2.x86_64.rpm
설치 패키지를 다운로드할 수 있습니다.
2. 시스템 버전에 해당하는 설치 패키지 다운로드 주소를libnvidia-container1
찾으세요 . 마찬가지로 제가 사용하는 CentOS7 시스템의 경우 아래 디렉터리에서 설치 패키지를 다운로드할 수 있습니다. (파일을 클릭하면 오른쪽 상단에 ↓ 원시 파일 다운로드 버튼이 있습니다 . 응답이 없으면 네트워크가 연결되어 있는지 확인하세요. 과학적으로 연결됨)libnvidia-container-tools
nvidia-container-runtime/stable/centos7/x86_64/
nvidia-container-toolkit-1.5.1-2.x86_64.rpm
세 가지 패키지를 모두 다운로드한 후 시스템으로 가져오고 해당 폴더에 설치하도록 선택합니다.
rpm 패키지 설치 방법, 설치 폴더에 있는 모든 rpm 설치 패키지
rpm -ivh *.rpm
deb 패키지 설치 방법
dpkg -i *.deb
설치 후 docker 서비스를 다시 시작합니다.
systemctl restart docker
systemctl status docker
성공! --gpus all
컨테이너를 시작하여 컨테이너가 GPU를 정상적으로 사용하는지 테스트 할 수 있습니다 .
4. 테스트
docker run --gpus all
컨테이너를 시작하고 컨테이너 내부로 들어가 GPU가 정상적으로 사용되는지 테스트할 때 사용합니다 .
Python에서 체크인하는 것은 GPU 사용 가능 여부를 확인하는 데 가장 일반적으로 사용되는 방법이기도 합니다(그러나 실제로 사용되지 않을 수도 있음).
import torch
torch.cuda.is_available()
# setting device on GPU if available, else CPU
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print('Using device:', device)
print()
#Additional Info when using cuda
if device.type == 'cuda':
print(torch.cuda.get_device_name(0))
print('Memory Usage:')
print('Allocated:', round(torch.cuda.memory_allocated(0)/1024**3,1), 'GB')
print('Cached: ', round(torch.cuda.memory_reserved(0)/1024**3,1), 'GB')
5. 오류 요약
1.오류: X 서버를 실행 중인 것 같습니다. 설치하기 전에 X를 종료하십시오. 자세한 내용은 다음을 참조하세요.
NVIDA 드라이버를 설치할 때 이 오류가 발생합니다. 주로 원격 제어 lightgm 설치로 인해 X 서버가 시작됩니다.
해결책:
sudo chmod +x NVIDIA-Linux-X86_64-515.105.run
sudo ./NVIDIA-Linux-X86_64-515.105.run -no-x-check
-no-x-check
Xserver를 확인하지 않고 마지막에 명령어를 추가하면 설치가 성공됩니다!
기타 매개변수:
--no-opengl-files: 드라이버 파일만 설치되고 OpenGL 파일은 설치되지 않음을 나타냅니다. 이 매개변수는 생략할 수 없으며 그렇지 않으면 로그인 인터페이스에서 무한 루프가 발생합니다. 영어에서는 일반적으로 "login loop" 또는 "stuck in login"이라고 합니다.
--no-x-check: 드라이버를 설치할 때 X 서비스가 확인되지 않으며 필요하지 않음을 나타냅니다.
--no-nouveau-check: 드라이버를 설치할 때 nouveau가 필수가 아니라 확인되지 않음을 나타냅니다.
-Z, --disable-nouveau: 누보를 비활성화합니다. 이전에 nouveau가 수동으로 비활성화되었으므로 이 매개변수는 필요하지 않습니다.
-A: 더 많은 고급 옵션을 봅니다.
방법 2: 실행 수준을 텍스트 모드로 수정: NVIDIA 드라이버 업그레이드 - EchoZQN - Blog Park
2. 데몬의 오류 응답: [[gpu]] 기능이 있는 장치 드라이버 ""를 선택할 수 없습니다.
Nvidia Docker가 설치된 후 이미지를 사용하여 컨테이너를 생성할 때 오류가 발생합니다.오류 메시지는 다음과 같습니다.
Error response from daemon: could not select device driver "" with capabilities: [[gpu]]
설치 필요: NVIDIA Container Toolkit
서버 nvidia 드라이버가 설치되어 있으며 GPU 사용에는 문제가 없지만 Docker가 GPU를 사용할 수 없는 경우 NVIDIA Container Toolkit이 설치되었는지 확인해야 합니다. NVIDIA Container Toolkit을 사용하면 사용자가 GPU 가속 Docker 컨테이너(docker 버전 19 이후, nvidia-docker 명령을 사용하여 18 이전)를 구축하고 실행할 수 있으므로 이를 설치한 후에만 docker 내에서 GPU를 사용할 수 있습니다.
시스템에 따라 공식 웹사이트에서 해당 설치 명령을 찾으세요.
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
공식 웹사이트는 매우 자세하므로 단계별로 따라가기만 하면 됩니다.
3장은 매우 자세하게 설명되어 있습니다.
3.libnvidia-container1-1.13.5-1.x86_64 설치의 파일 /usr/lib64/libnvidia-container.so.1이 파일 형식 패키지 libnvidia-container1-1.0.0-0.1.beta.1.x86_64와 충돌합니다.
이 오류는 이미 설치된 패키지 "libnvidia-container1-1.0.0-0.1.beta.1.x86_64"의 "/usr/lib64/libnvidia-container.so.1" 파일이 설치할 패키지와 다르다는 것을 의미합니다. "libnvidia-container1-1.13.5-1.x86_64에서 동일한 이름을 가진 파일과 충돌합니다."
이는 패키지 관리자가 기존 패키지의 파일과 충돌하는 파일이 있는 패키지의 새 버전을 시스템에 설치하려고 시도하기 때문에 발생할 수 있습니다. 이 충돌을 해결하는 한 가지 방법은 이전 버전의 패키지를 제거하거나 충돌하는 파일을 업데이트하거나 교체하여 업데이트하는 것입니다.
다음 명령을 사용하여 충돌을 해결해 보십시오.
sudo yum remove libnvidia-container1-1.0.0-0.1.beta.1.x86_64
4.오류: Nouveau 커널 드라이버가 현재 시스템에서 사용 중입니다. 이 드라이버는 NVIDIA 드라이버와 호환되지 않으므로 계속하기 전에 비활성화해야 합니다. NVIDIA 드라이버 README와 Linux 배포판 문서를 참조하세요…
이 문제는 현재 Nouveau 그래픽 드라이버를 사용하는 시스템으로 인해 발생하며 NVIDIA 드라이버는 Nouveau 드라이버와 호환되지 않습니다. 이 문제를 해결하려면 Nouveau 드라이버를 비활성화해야 합니다.
방법 1: 블랙리스트를 통해 Nouveau 드라이버 비활성화
1) /usr/lib/modprobe.d/dist-blacklist.conf에 두 줄을 추가합니다:
blacklist nouveau
options nouveau modeset=0
2) 현재 이미지를 백업하세요.
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
3) 새 이미지 만들기
dracut /boot/initramfs-$(uname -r).img $(uname -r)
4) 다시 시작
sudo init 6
방법 2: 매개변수 추가
매개변수 추가--no-opengl-files
./NVIDIA-Linux-x86_64-515.105.01.run --no-opengl-files
5.docker: 데몬의 오류 응답: OCI 런타임 생성 실패: Container_linux.go:380: 컨테이너 프로세스 시작 발생: process_linux.go:545: 컨테이너 초기화 발생: 후크 실행 중:: 후크 실행 중 오류: 종료 상태 1, stdout : , stderr: nvidia-container-cli: 초기화 오류: 드라이버 rpc 오류: 시간 초과: 알 수 없음.
매우 이상한 오류입니다. --gpus all
컨테이너를 시작할 때 그래픽 카드를 로드하면 오류가 보고됩니다. 이 링크가 답변을 제공합니다 .그 이유는 그래픽 카드 리소스가 지속 모드를 켜지 않기 때문입니다.
많은 정보를 참고한 끝에 인터넷의 훌륭한 전문가가 NVIDIA에 문의했다는 것을 알게 되었습니다. NVIDIA에서 제공한 설명은 " 그래픽 카드 리소스가 지속성 모드를 켜지 않습니다 ."입니다. 문제를 해결하려면 다음 명령을 입력하십시오:
nvidia-smi -pm ENABLED
위 명령어에서 Enter 키를 눌렀을 때 프롬프트가 나타나면, 프롬프트에 따라 설치하시면 되고, 설치가 완료된 후 위 명령어를 다시 실행하시면 설치가 됩니다.
참고내용
NVIDIA 드라이버 다운로드 주소.cn
NVIDIA 드라이버 다운로드 주소.com
NVIDIA 드라이버 및 CUDA 툴킷 호환 버전 및 최소 버전 요구 사항
CUDA 툴킷 다운로드 주소
CUDA 툴킷 이전 버전 다운로드 주소
CUDA 툴킷 11.7.1 다운로드 주소
cuDNN 다운로드 주소
CentOS.7 Nvidia Driver_centos 제거 및 설치 nvidia 드라이버 제거_Aaron_Qin Feng의 블로그-CSDN 블로그
Linux Centos7 설치 및 GPU 드라이버 및 cuda 업데이트:_linux 업그레이드 cuda 버전_빅 데이터 lsy의 블로그-CSDN 블로그
업그레이드 nvidia 드라이버-EchoZQN - 다음에서
cuda 버전을 다운그레이드하는 방법 -
ubuntu16.04+nvidia396.37+cuda9.2+cudnn7.1.4_tudou880306의 블로그를 구축하기 위한 Python 기술 스테이션 openpose 환경 - CSDN 블로그
Linux에서 버전 정보 확인 방법 - Linux 운영 및 유지 관리 - PHP 중국어 웹사이트
cuda, cudnn, cudatoolkit 모든 버전 다운로드 URL_cudnn download_QT-Smile 블로그 - CSDN 블로그
python 그래픽 카드 정보 확인 python gpu 확인
Docker 오프라인 설치 Nvidia-container-toolkit GPU 구현 컨테이너 내 호출_NekoTom의 블로그-CSDN 블로그
docker: 데몬의 오류 응답: 기능이 있는 장치 드라이버 ""를 선택할 수 없습니다: [[gpu]]오류 보고_–gpus 모두 오류 보고_매일 누워 있고 싶은 Da Meow의 블로그-CSDN BlogError: x 서버를 실행하는 것으로 보입니다
. 을(를) 설치하기 전에 x를 종료하십시오.자세한 내용은_오류: 프로세스 중에 문제가 발생하는 것 같습니다_
소프트웨어 응용 프로그램_무엇을 구입할 가치가 있습니까?