80 lines
2.4 KiB
Markdown
80 lines
2.4 KiB
Markdown
# CUDNN 버전 호환성 문제 해결 가이드
|
|
|
|
## 문제 상황
|
|
- 설치된 CUDNN: 9.12 버전 (`cudnn64_9.dll`)
|
|
- PaddlePaddle 요구사항: CUDNN 8.x 버전 (`cudnn64_8.dll`)
|
|
- 오류 메시지: `cudnn64_8.dll이 올바르게 구성되지 않았습니다`
|
|
|
|
## 해결 방법
|
|
|
|
### 방법 1: CUDNN 8.x 추가 설치 (GPU 사용 - 권장)
|
|
|
|
1. **CUDNN 8.9.7 다운로드**
|
|
- NVIDIA 공식 사이트: https://developer.nvidia.com/cudnn
|
|
- CUDA 11.x용 CUDNN 8.9.7 선택
|
|
- 로그인 필요 (NVIDIA Developer 계정)
|
|
|
|
2. **CUDNN 8.x 설치**
|
|
```
|
|
1. 다운로드한 CUDNN zip 파일 압축 해제
|
|
2. 다음 파일들을 CUDA 설치 폴더로 복사:
|
|
- bin/cudnn64_8.dll → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.x\bin\
|
|
- include/*.h → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.x\include\
|
|
- lib/x64/*.lib → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.x\lib\x64\
|
|
```
|
|
|
|
3. **환경 변수 확인**
|
|
- PATH에 CUDA bin 폴더 포함되어 있는지 확인:
|
|
```
|
|
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.x\bin
|
|
```
|
|
|
|
4. **프로그램 재시작**
|
|
- GPU 모드로 정상 작동
|
|
|
|
### 방법 2: CPU 모드 강제 사용 (간단함)
|
|
|
|
GPU 사용을 포기하고 CPU만 사용:
|
|
|
|
1. `src/modules/gpu_utils.py` 파일에서 강제 CPU 모드 설정
|
|
2. 또는 환경 변수 설정:
|
|
```
|
|
set CUDA_VISIBLE_DEVICES=
|
|
```
|
|
|
|
**장점**: 설치 필요 없음, 안정적
|
|
**단점**: GPU 가속 사용 불가, 처리 속도 느림
|
|
|
|
### 방법 3: CUDNN 9와 8 동시 설치
|
|
|
|
두 버전을 모두 유지하면서 사용:
|
|
|
|
1. CUDNN 8.x를 CUDA 11.x 폴더에 설치
|
|
2. CUDNN 9.x는 CUDA 12.x 폴더에 유지
|
|
3. PATH 환경 변수에서 CUDA 11.x를 우선순위로 설정
|
|
|
|
## 현재 코드의 자동 폴백
|
|
|
|
이미 코드에 자동 폴백 기능이 구현되어 있습니다:
|
|
- GPU 초기화 실패 시 → 자동으로 CPU 모드 전환
|
|
- CUDA 오류 감지 시 → 명확한 경고 메시지 출력
|
|
|
|
## 권장 사항
|
|
|
|
**개발/테스트 환경**: 방법 2 (CPU 모드) - 설정 간단
|
|
**운영 환경**: 방법 1 (CUDNN 8.x 추가 설치) - GPU 가속 활용
|
|
|
|
## 버전 확인 명령어
|
|
|
|
```bash
|
|
# CUDA 버전 확인
|
|
nvcc --version
|
|
|
|
# CUDNN 파일 확인 (Windows)
|
|
dir "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v*\bin\cudnn*.dll"
|
|
|
|
# Python에서 확인
|
|
python -c "import paddle; print(paddle.__version__); print(paddle.device.cuda.get_cudnn_version())"
|
|
```
|
|
|