For Windows 10 with GPU
Updated 2025.01.23
윈도우 환경에서 드라이버 설치 확인
1. 윈도우에서 그래픽 카드 설치 확인
- 장치관리자 진입
- 디스플레이 어댑터 진입
- NVIDIA 그래픽 카드 확인
2. Nvidia 제어판에서 그래픽 카드 선택
- 바탕화면에서 마우스 오른쪽 클릭
- Nvidia 제어판 선택
- 왼쪽 메뉴에서 PhysX 구성 선택
- PhysX 프로세서 선택에서 Nvidia 그래픽 카드 선택
3. 그래픽 드라이버 설치하기
- https://www.nvidia.com/en-us/drivers/ 링크 접속
- Manual Driver Search 에 위에서 확인 그래픽 카드 모델 검색
- 해당 모델이 나오면 Find 버튼 클릭
- 최신 드라이버가 있는 View 버튼 클릭
- 최종 다운로드 버튼 클릭
4. 윈도우 환경에서 드라이버가 설치되어 있는지 명령어로 확인하기
nvidia-smi
- Driver Version: 현재 GPU의 Nvidia Driver version
- CUDA Version: 현재 드라이버와 호환이 잘 되는 CUDA Version 추천
WSL 환경에서 CUDA-toolkit 설치
1. WSL 환경에 진입하여 CUDA Toolkit 설치
- https://developer.nvidia.com/cuda-toolkit-archive 링크 접속
- 추천해준 CUDA Version과 가까운 CUDA Toolkit 버전 클릭
- WSL 내부 스펙에 맞는 환경 고르기위해 아래 명령어로 스펙 확인
cat /etc/os-release
2. 아래 항목에 해당하는 스펙 고르기
- Operating System: Linux
- Architecture: x86_64
- Distribution: Ubuntu
- Version: 20.04
- Installer Type: runfile(local)
3. 스펙에 따른 명령어 실행
$ wget https://developer.download.nvidia.com/compute/cuda/12.6.2/local_installers/cuda_12.6.2_560.35.03_linux.run
$ chmod +x cuda_12.6.2_560.35.03_linux.run
$ sudo ./cuda_12.6.2_560.35.03_linux.run --silent --toolkit
4. 명령어 실행시 gcc 패키지 관련 오류 발생시 아래 명령어로 패키지 먼저 설치
(오류 발생하지 않으면 실행하지 않아도 됨)
$ sudo apt update
$ sudo apt install gcc g++
5. CUDA-Toolkit 설치되었는지 명령어로 확인
ls /usr/local/ | grep cuda
6. WSL 내 리눅스 환경에 CUDA 경로 추가
$ sudo vi ~/.bashrc
# 아래 스크립트 추가
export PATH=/usr/local/cuda-12.6/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64:$LD_LIBRARY_PATH
# 저장 후 아래 스크립트 실행
$ source ~/.bashrc
7. CUDA 버전 확인
$ nvcc -V
WSL환경에서 Nvidia container CUDA-toolkit 설치
1. WSL 환경에서 아래 명령어로 nvidia 컨테이너 툴킷 설치
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
$ sudo apt-get update
$ sudo apt-get install -y nvidia-container-toolkit
2. WSL 환경에서 docker configure 수정
- 경로 /etc/docker/daemon.json 에 접근하여 추가 및 수정
{
"insecure-registries":["...생략"],
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
3. WSL 환경에서 K8S(Kubernetes) DevicePlugins 활성화
- Device Plugin 활성화 명령어
$ kubectl delete daemonset nvidia-device-plugin-daemonset -n kube-system # 기존 존재하는 것 삭제
$ kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.14.1/nvidia-device-plugin.yml
- Device Plugin 활성화 확인
$ kubectl get pods -n kube-system | grep nvidia-device-plugin
4. Edge app 실행 및 모델 배포 후 추론 로그 확인
- Pytorch 사용 로그 이미지 확인
PyTorch version: 2.0.1+cu117
CUDA available: True
CUDA version: 11.7