<해야 하는 것>
1) 기존 것 지우기
# 드라이버 삭제
sudo apt remove --purge '^nvidia-.*'
# CUDA 삭제
sudo apt remove --purge "*cublas*" "cuda*" "nsight*"
# CUDA 파일 삭제
(아래 명령에서 숫자 부분은 본인이 설치된 버전에 맞게 바꿉니다)
/usr/local/cuda-9.0/bin/uninstall_cuda_toolkit_9.0.pl rm -rf /usr/local/cuda-10.2/
2) 적절한 Cuda Toolkit 설치
아래 사이트에서 설치하고자 하는 버전을 설치 합니다.
CUDA Toolkit Archive | NVIDIA Developer
3) bashrc 설정
(아래 명령에서 숫자 부분은 본인이 설치된 버전에 맞게 바꿉니다)
export PATH="/usr/local/cuda-12.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.0/lib64:$LD_LIBRARY_PATH"
4) cudnn 설치
아래 사이트에서 적절한 cudnn을 설치 한다.
cuDNN Archive | NVIDIA Developer
자세한 사항은 아래를 참고 합니다.
$ sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
$ sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
$ sudo ldconfig
tips1)
아래와 같이 드라이버 검색해서 설치하는 방법이 있는데 tookits는 빼고 드라이버만 설치 된다(ㅜ.ㅜ)
$ ubuntu-drivers devices
$ sudo apt-get install nvidia-driver-515
따라서, 아래 사이트에 들어가서 드라이버와 toolkit를 같이 설치하는 설치 파일을 받도록 한다.
CUDA Toolkit 12.0 Downloads | NVIDIA Developer
tips2)
cudnn 설치 확인
root@XXXX:/usr/local# ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.9.6
libcudnn.so.8 -> libcudnn.so.8.9.6
libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.9.6
libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.9.6
libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.9.6
libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.9.6
libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.9.6
tips3)
nvcc-V와 nvidia-smi 버전이 다른 이유
- 본인의 경우 nvidia toolkit(11.1)만 새로 설치하였다.
- CUDA는 2개의 API를 가지고 있는데, 하나는 runtime API 이고 다른 하나는 driver API 이다.
- driver API는 GPU driver 설치파일에 의해 설치되고, (nvidia-smi로 보여주는 버전 정보)
- runtime API는 GPU toolkit 설치파일에 의해 설치 된다. (nvcc로 보여주는 버전 정보)
==>
nvidia-smi로 보여주는 드라이버 옆의 CUDA vesion은 해당 드라이버로 호환되는 가장 최신 CUDA 요구 조건.
따라서, nvcc --version이 해당 CUDA version 보다 같거나 낮기만 하면 된다.
정리하면, 최신 Driver에 예전 버젼 CUDA는 설치가 가능하지만 반대는 불가능 합니다.
(이상 24.03.22 일자로 재 정리)
참고
- Ubuntu에 여러 버전의 CUDA 설치하기 (tistory.com)
- nvidia, cuda, cudnn 설치 방법 (ubuntu 20.04) - vividian repository
1. 설치
CUDA-capable GPUs have hundreds of cores that can collectively run thousands of computing threads.
These cores have shared resources including a register file and a shared memory.
The on-chip shared memory allows parallel tasks running on these cores to share data without sending it over the system memory bus
--> 쿠다는 GPU로 하여금, 수백개의 코어에서 수천개의 스레드를 실행 하게끔 돕는다.
이 코어들은 레지스터 부터, 공유 메모리를 공유한다.
On-chip 공유 메모리를 사용하면, 코어에서 실행되는 병렬 작업이 버스를 거치지 않고도 데이터를 공유한다.
The driver and toolkit must be installed for CUDA to function. If you have not installed a stand-alone driver, install the driver from the NVIDIA CUDA Toolkit.
-->쿠다를 실행하기 위해서는 driver와 toolkit가 깔려 있어야 한다. 단독 Nvidia driver를 깔지 않았다면, CUDA Toolkit을 통해 깔도록 한다.
CUDA Toolkit 설치 URL : developer.nvidia.com/cuda-downloads
Cudnn 설치 URL : developer.nvidia.com/rdp/cudnn-download
[22.01.10] 추가
위의 두 방법이 번거러우면, 우분투 Repository에서 바로 다운할 수도 있다(link)
$ sudo apt update
$ sudo apt install nvidia-cuda-toolkit
2. 설치 확인
nvcc -v # 쿠다 컴파일러 버전 체크
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Oct_12_20:54:10_Pacific_Daylight_Time_2020
Cuda compilation tools, release 11.1, V11.1.105
Build cuda_11.1.relgpu_drvr455TC455_06.29190527_0
docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
[Optional] 3. 참고할 문서
Cudnn Developer Guide
docs.nvidia.com/deeplearning/cudnn/developer-guide/index.html
Cuda Programming Guide
docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#abstract
4. NVIDIA에서 제공하는 서비스(Software SDK)
- GPU에 최적화된 CUDA-X AI 라이브러리를 (Pytorch, Tensorflow 등의 Major Framework에) 제공한다.
- NVIDIA AI Toolkit은 Transfer Learning, Fine Tuning, Optimizing and Deploying pre-trained Models 기능을 하는
라이브러리를 포함한다.
사견) NVIDIA의 캐시카우는 cuDNN이지 않을까 생각한다.
developer.nvidia.com/deep-learning-software#integrations