반응형
아래 링크의 블로그를 보며 Cudnn을 설치 하던 중 오류가 발생하여 해결한 솔루션을 남긴다.
https://webnautes.tistory.com/1479
Ubuntu 20.04에 CUDA 11.2, cuDNN 8.1.0, OpenCV 4.5.1 설치
Ubuntu 20.04에 CUDA 11.2, cuDNN 8.1.0, OpenCV 4.5.1을 설치하는 방법을 다룹니다. NVIDIA 그래픽 카드 드라이버 설치 CUDA 11.2 설치 cuDNN 8.1.0 설치 OpenCV 4.5.1 설치 2021. 04. 24 최초작성 2021. 05...
webnautes.tistory.com
설치환경
Ubuntu 20.04 WSL2
CUDA 11.4
Cudnn 8.2.2
문제
Cudnn을 다운받아 압축을 풀고, 복사 한후 경로 설정을 해 주고나서
sudo ldconfig을 치면 다음과 같은 오류가 발생
$ sudo ldconfig
/sbin/ldconfig.real: /usr/local/cuda/targets/x86_64-linux/lib/libcudnn.so.8 is not a symbolic link
해결
이는 Cudnn 카피 시 Symbolic link가 사라지기 때문임. 이를 다시 설정해주면 해결됨.
자신의 CUDA 버전에 맞는 폴더로 이동
$ cd /usr/local/cuda-11.4/lib64
아래와 같이 검색을 해주면
$ ls -lha libcudnn*
심볼릭 링크 ->
제일 상단에 libcudnn.so, so.8, so.8.2.2 파일들에 링크가 없는걸 볼 수 있음.
우리가 복사하면서 사라진 거임. 이걸 다시 만들어줘야함.
-rwxr-xr-x 1 root root 155K Aug 10 09:22 libcudnn.so
-rwxr-xr-x 1 root root 155K Aug 10 09:22 libcudnn.so.8
-rwxr-xr-x 1 root root 155K Aug 10 09:22 libcudnn.so.8.2.2
-rwxr-xr-x 1 root root 124M Aug 10 09:22 libcudnn_adv_infer.so
lrwxrwxrwx 1 root root 73 Aug 10 09:32 libcudnn_adv_infer.so.8 -> /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.2.2
-rwxr-xr-x 1 root root 124M Aug 10 09:22 libcudnn_adv_infer.so.8.2.2
-rwxr-xr-x 1 root root 94M Aug 10 09:22 libcudnn_adv_train.so
lrwxrwxrwx 1 root root 73 Aug 10 09:35 libcudnn_adv_train.so.8 -> /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.2.2
-rwxr-xr-x 1 root root 94M Aug 10 09:22 libcudnn_adv_train.so.8.2.2
-rwxr-xr-x 1 root root 656M Aug 10 09:22 libcudnn_cnn_infer.so
lrwxrwxrwx 1 root root 73 Aug 10 09:32 libcudnn_cnn_infer.so.8 -> /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.2.2
-rwxr-xr-x 1 root root 656M Aug 10 09:22 libcudnn_cnn_infer.so.8.2.2
-rwxr-xr-x 1 root root 812M Aug 10 09:22 libcudnn_cnn_infer_static.a
-rwxr-xr-x 1 root root 812M Aug 10 09:23 libcudnn_cnn_infer_static_v8.a
-rwxr-xr-x 1 root root 89M Aug 10 09:23 libcudnn_cnn_train.so
lrwxrwxrwx 1 root root 73 Aug 10 09:32 libcudnn_cnn_train.so.8 -> /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.2.2
-rwxr-xr-x 1 root root 89M Aug 10 09:23 libcudnn_cnn_train.so.8.2.2
-rwxr-xr-x 1 root root 133M Aug 10 09:23 libcudnn_cnn_train_static.a
-rwxr-xr-x 1 root root 133M Aug 10 09:23 libcudnn_cnn_train_static_v8.a
-rwxr-xr-x 1 root root 368M Aug 10 09:23 libcudnn_ops_infer.so
lrwxrwxrwx 1 root root 73 Aug 10 09:32 libcudnn_ops_infer.so.8 -> /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.2.2
-rwxr-xr-x 1 root root 368M Aug 10 09:23 libcudnn_ops_infer.so.8.2.2
-rwxr-xr-x 1 root root 57M Aug 10 09:23 libcudnn_ops_train.so
lrwxrwxrwx 1 root root 73 Aug 10 09:32 libcudnn_ops_train.so.8 -> /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.2.2
-rwxr-xr-x 1 root root 57M Aug 10 09:23 libcudnn_ops_train.so.8.2.2
-rwxr-xr-x 1 root root 1.3G Aug 10 09:23 libcudnn_static.a
아래와 같이 명령어를 입력 해주자.
$ sudo ln -sf libcudnn.so.8.2.2 libcudnn.so.8
$ sudo ln -sf libcudnn.so.8 libcudnn.so
그 다음 다시 검색해보면
ls -al libcudnn.so*
심볼릭 링크가 형성됨
lrwxrwxrwx 1 root root 13 Aug 10 09:41 libcudnn.so -> libcudnn.so.8
lrwxrwxrwx 1 root root 17 Aug 10 09:41 libcudnn.so.8 -> libcudnn.so.8.2.2
-rwxr-xr-x 1 root root 158392 Aug 10 09:22 libcudnn.so.8.2.2
다음의 명령어를 입력했을 때,
ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
아래와 같이 나오면 해결 된 것임.
libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.2.2
libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.2.2
libcudnn.so.8 -> libcudnn.so.8.2.2
libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.2.2
libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.2.2
libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.2.2
libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.2.2
감사합니다.
반응형
댓글