반응형

Ubuntu 22.04에 CUDA를 설치하는 방법을 다룹니다. 

 

2022. 12. 2  최초작성

2022. 12. 17

2023. 12. 30 Ubuntu 22.04.3 LTS에서 발생한 문제 해결방법 추가 

                     cudnn 버전 관련 수정

2024. 1. 6  사소한 변경, cuDNN 8.6으로 변경

2024. 3. 14



현재 그래픽 카드 드라이버 확인

 

그래픽 카드 드라이버 별로 설치가능한 최대 CUDA 버전이 다르다는 것을 확인했습니다. 진행하기전에 아래 포스트를 참고해보세요. 결론은 최신버전 CUDA를 설치하려면  최신 버전 그래픽 카드 드라이버를 깔아야 합니다. 

 

NVIDIA 그래픽카드에서 사용가능한 CUDA 버전 확인하기

https://webnautes.tistory.com/2289 



1. 다음 명령을 사용하여 사용중인 그래픽 카드 모델과 그래픽 드라이버를 확인할 수 있습니다. 

$ sudo lshw -c display

 

product 항목에 그래픽 카드 이름이 표시됩니다. 아래 스크린샷에서는 GeForce GTX 1660 Ti Mobile입니다. 

configuration 항목에 그래픽 카드 드라이버 이름이 표시됩니다. 아래 스크린샷에서는 nouveau 입니다. 

nouvenu일 경우 NVIDIA 그래픽 카드 드라이버를 사용하지 않는 상태라는 의미입니다. 

NVIDIA 그래픽 카드 드라이버가 설치되어있다면 nvidia로 표시됩니다.

 



2. 다음 방법으로도 NVIDIA 그래픽 카드 드라이버를 사용중인지 확인할 수 있습니다. 

왼쪽 아래에 보이는 프로그램 표시 아이콘을 클릭하여 소프트웨어 & 업데이트를 실행합니다. 



3. 우분투 22.04를 설치한 후에 확인해보니,NVIDIA 드라이버가 아닌 대안 드라이버를 사용하고 있는 상태입니다. 독점 드라이버를 사용하지 않고 있습니다라고 아래쪽에 출력됩니다.

 

NVDIA 그래픽 카드 드라이버가 설치되어 있다면 아래쪽에 독점 드라이버 1개를 사용하고 있습니다라고 출력되며 위에 보이는 드라이버 항목중 하나가 체크된 상태입니다. 

 

4. NVIDA 그래픽 카드가 현재 우분투에 설치되어있는지 여부에 따라 CUDA 설치방법이 달라집니다. 

 

NVIDIA 그래픽 카드 드라이버가 이미 설치되어 있다면 CUDA 설치 방법 1을 사용하면 안됩니다. 왜냐하면 CUDA를 deb 패키지로 설치하면서 그래픽 카드 드라이버도 설치되기 때문에 문제가 발생합니다. 대신 CUDA 설치방법 2를 진행하세요. CUDA설치시 그래픽 카드 드라이버는 제외하고 설치를 진행하기 때문에 문제가 발생하지 않습니다.

 

NVIDIA 그래픽 카드 드라이버가 설치 안되어 있다면 CUDA 설치 방법 1를 사용하거나 아래 포스트 따라 NVIDIA 그래픽 카드 드라이버를 설치한 후, CUDA 설치 방법 2를 진행하세요.  




2023. 12. 30 

Ubuntu 22.04.3 LTS에서 CUDA 설치 방법 1을 사용시 그래픽 카드 드라이버 패키지 관련 오류로 CUDA 설치가 완료되지 않는 문제가 발생했습니다.  확인 결과 아래 포스트 따라 NVIDIA 그래픽 카드 드라이버를 설치한 후, CUDA 설치 방법 2를 진행하면 됩니다.

 

cuda 설치시 문제가 생겼다면 대부분의 경우 다음처럼 cuda 설치 디렉토리만 삭제하면 해결됩니다.

sudo rm -rf /usr/local/cuda*

 

하지만 엔비디아 그래픽 카드 드라이버를 여러 버전 설치하게 되는 경우엔 다음처럼 이전 그래픽카드 드라이버를 삭제하고 진행해야 합니다.  

$ sudo apt-get purge nvidia*

$ sudo apt-get autoremove

$ sudo apt-get autoclean

 

여러버전의 그래픽카드 드라이버를 설치하다가 패키지가 꼬여서 우분투를 재설치해서  해결된 경우도 있었습니다.




Ubuntu 22.04에 NVIDIA 그래픽 카드 드라이버 설치

https://webnautes.tistory.com/1843



CUDA 설치 방법 1

NVIDIA 그래픽 카드 드라이버가 설치되지 않은 경우 진행하세요.

 

0. 아래 링크에서 CUDA Toolkit 11.8.0을 선택합니다. 글 작성시점에서 Tensorflow 2.11이 동작하지 않기 때문에 CUDA Toolkit 12.0.0을 사용할 수 없습니다. 

https://developer.nvidia.com/cuda-toolkit-archive

 

1. Linux,  x86_64, Ubuntu, 22.04, deb(local)을 차례로 선택합니다. 

 

2. 선택 완료 후, 그 아래에 다음처럼 보이는 명령을 한줄씩 실행하여 설치를 진행합니다.

sudo dpkg -i cuda~ 명령에서 락 걸렸다는 에러가 나는 경우 재부팅을 하거나 해당 업데이트 관련 프로세스를 kill 명령으로 종료시키고 진행해야 합니다. 

 

 

3. 그래픽카드 드라이버가 바뀌도록  재부팅을 해줘야 합니다.

 

4. cuDNN 설치를 진행하세요. 



CUDA 설치 방법 2

NVIDIA 그래픽 카드 드라이버가 이미 설치된 경우 진행하세요.

 

0. 아래 링크에서 CUDA Toolkit 11.8.0을 선택합니다. 글 작성시점에서 Tensorflow 2.11이 동작하지 않기 때문에 CUDA Toolkit 12.0.0을 사용할 수 없습니다. 

https://developer.nvidia.com/cuda-toolkit-archive

 

1. Linux,  x86_64, Ubuntu, 22.04, runfile(local)을 차례로 선택합니다. 

 

2. 선택 완료 후, 그 아래에 다음처럼 보이는 명령을 한줄씩 실행하여 설치를 진행합니다.

 

아래 화살표 키 눌러 Continue로 바꾼 후, 엔터키를 누릅니다.

 

accept를 입력한 후, 엔터를 누릅니다.

 

Driver에서 스페이스바를 눌러 체크해제하고 Install로 이동하여 엔터키를 누릅니다.

설치 완료후 다음처럼 출력됩니다.



3. cuDNN 설치를 진행하세요. 



cuDNN 설치

1. 아래 링크에 접속 합니다. 

https://developer.nvidia.com/cudnn 

 

 

2. Download cuDNN Library를 클릭합니다. 

 

3. Login을 클릭합니다. NVIDIA 계정이 아직 없다면 Join now를 클릭하여 생성해야 합니다. 

 

4. 로그인을 진행합니다. 

 

 

로그인 진행 후, 다시 Download cuDNN Library를 클릭합니다. 

 

 

5. I Agree 앞에 있는 체크박스를 클릭합니다.

 

포스트에서 사용한 버전인 cuDNN v8.6.0과  다른 버전의 cuDNN을 사용하면 문제가 될 가능성도 있어 보입니다. 가급적이면 포스트에서 테스트한 버전을 다운로드 하세요. 스크린샷 아래쪽에 보이는 Archived cuDNN Releases을 클릭합니다. 

 

목록에서  Download cuDNN v8.6.0 (October 3rd, 2022), for CUDA 11.x를 클릭합니다. 

 



 

6. 목록에서 Local Installer for Linux x86_64 (Tar)를 클릭합니다. 다운로드 폴더에 다운로드 되도록 합니다. 

 



7. 다운로드 받은 위치로 이동합니다.

cd ~/다운로드



8. 다음 명령으로 압축을 풀어줍니다. 압축파일 이름은 포스트에 있는 이름과 다를 수 있으니 유의하세요.

tar xvf cudnn을 입력 후, tab키를 누르면 파일 이름이 완성되는 것을 사용하면 편합니다. 

 

tar xvf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz



9. 다음 명령으로 필요한 파일을 복사해줍니다. 

 

sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 

sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 

sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*



10. 편집기를 사용하여 .bashrc 파일을 열어서 끝에 다음 한줄을 추가해야 합니다. 

 

간단히 설명하면

nano 편집기를 사용해서 .bashrc 파일을 열어줍니다.

sudo nano ~/.bashrc

 

다음 2 줄을 복사한 후, 화살표키로 .bashrc 파일 끝으로 이동한 후, 마우스 우클릭하여 메뉴에서 붙여넣기를 클릭하여 붙여넣기합니다. 

또는 단축키 Ctrl + Shift + V를 눌러도 붙여놓기가 됩니다.

빨간색 부분은 설치한 cuda 버전에 따라 달라져야 합니다.

 

export PATH="/usr/local/cuda-11.8/bin:$PATH"

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64/

 

Ctrl + O를 누른 후, 엔터를 입력하여 저장한 후, Ctrl + X를 눌려 nano 편집기를 종료합니다.



11. 환경 적용을 위해 다음 명령을 실행합니다. 

$ source ~/.bashrc



12. nvidia-smi 명령을 실행하여 그래픽 카드 드라이버와 CUDA가 제대로 설치된 것을 확인합니다.

글 작성 시점에서는 오른쪽 위에 Driver Version이 525이고 CUDA 버전이 12.0 또는 11.8로 보입니다. 



13. 이제 제대로 설치되었는지 확인합니다. 

참고 https://xcat-docs.readthedocs.io/en/stable/advanced/gpu/nvidia/verify_cuda_install.html   



다음 명령을 실행합니다. 빨간색 부분은 설치한 cuda 버전에 따라 달라져야 합니다. 

$ /usr/local/cuda-11.8/extras/demo_suite/deviceQuery



실행후, 마지막 줄에 다음처럼 PASS가 출력되면 잘 설치가 된 것입니다. 

CUDA Driver 버전과 CUDA Runtime버전이 다르게 보이는데 정상입니다. CUDA Runtime Version이 11.8로 보입니다. 

 

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 12.0, CUDA Runtime Version = 11.8, NumDevs = 1, Device0 = NVIDIA GeForce GTX 1660 Ti

Result = PASS



다음 명령을 실행합니다. 11.8이 표시되야 합니다. 

 

$ /usr/local/cuda-11.8/bin/nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2022 NVIDIA Corporation

Built on Wed_Sep_21_10:33:58_PDT_2022

Cuda compilation tools, release 11.8, V11.8.89

Build cuda_11.8.r11.8/compiler.31833905_0





관련 링크

 

Ubuntu 22.04에 CUDA 사용할 수 있도록 PyTorch  설치하는 방법

https://webnautes.tistory.com/1845



Ubuntu 22.04에 CUDA 사용하도록 Tensorflow 설치하는 방법

https://webnautes.tistory.com/1878



Ubuntu 22.04에 CUDA 사용하는 OpenCV 설치하는 방법

https://webnautes.tistory.com/1876





반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts