본문 바로가기

운영체제/linux

[ubuntu] ubuntu20.04 & CUDA 설치

반응형

ubuntu 20.04를 설치했다가, 원격이 안돼서 18.04로 내렸다가 무한부팅을 고치지 못해 다시 20.04로 오늘 삽질을 2일동안 했다😢 20.04로 다시 왔는데도 또 다시 무한부팅 현상이 발생해서.. 어찌어찌 해결하고 정리를 해야겠다 싶었다.

 

설치환경

rtx3060

ubuntu 20.04

CUDA 11.3

cuDNN 8.5

 

참고한 블로그들은 다음과 같다.

https://velog.io/@dkdk6638/Ubuntu-%EC%9A%B0%EB%B6%84%ED%88%AC-18.04-%ED%99%98%EA%B2%BD-%EC%84%B8%ED%8C%85-CUDA-10.1

 

[Ubuntu] 우분투 18.04 설치 및 CUDA 세팅 (CUDA 10.1)

우분투를 사용하게 되면서 설치를 진행하는 과정에서 무한부팅이 되어 여러번 재설치 과정을 거치니 제대로 정리해야 할 필요가 있다고 느껴 오늘 정리를 해보았습니다.🙄 앞으로 다시는 재설

velog.io

https://hiseon.me/linux/ubuntu/cuda-install/

 

CUDA 설치 우분투 환경 - HiSEON

CUDA 설치 우분투 환경 우분투 환경에서 최신 버전의 CUDA 설치하는 방법에 대해서 설명드립니다. NVIDIA 패키지 리스트를 추가하여 cuDNN 7.0 라이브러리와 함께 CUDA 9.0를 설치합니다. 최신 버전의 텐

hiseon.me

https://ingu627.github.io/tips/install_cuda_linux/

 

[2022최신] Ubuntu 20.04에서 nvidia driver, cuda, cudnn, pytorch 설치의 모든 것

ubuntu 20.04, nvidia driver 495, cuda 11.3, cudnn 8.2.1, pytorch 버전을 설치하는 방법입니다.

ingu627.github.io

해결 방법

1. ubuntu 부팅 USB 만들기

https://hustle-lenini.tistory.com/6

 

[ubuntu] 부팅 usb 만들기

PC에 ubuntu를 설치하기 위해서는 먼저 부팅 usb를 만들어야한다. 1. 비어있는 usb 준비 만약 비어있는 usb가 없다면, 가지고 있는 usb의 정보를 백업한 후 포맷해서 사용하는 것도 좋다. 2. Rufus 다운로

hustle-lenini.tistory.com

위의 링크에 방법을 적어놨다.

 

2. ubuntu 설치

PC를 켜기 전 usb를 미리 꽂아놓고, BIOS 창으로 넘어간다.

bios창

usb를 꽂았다면 빨간색 표시된 부분에 usb가 떠있을 것이다. 그 usb를 드래그해 최상단에 올려놓고, 저장&종료 키인 F10을 누른다. (or 부팅메뉴인 F8을 눌러서, 직접 usb를 클릭해 재부팅시킨다.)

 

3. CUDA 설치 전, 그래픽카드 먼저 제대로 설치해야한다.

1) nouveau 삭제, nouveau blacklist 등록하기

#nouveau 제거 & blacklist 등록
$ sudo nano /etc/mod probe.d/blacklist-nouveau.conf

새로운 창으로 넘어가면 

blacklist nouveau
options nouveau modeset=0

다음을 적고 ESC를 누른 후 :wq! 로 저장 후 뒤로가기를 한다.

 $ sudo update-initramfs -u

위의 코드를 실행시킨 후,

 $ sudo reboot

로 재부팅한다.

 

2) 기존의 nvidia, cuda 완전 삭제하기

설치해놓지 않았으니 깔려있지 않겠지만, 혹시 몰라 다음의 코드를 모두 입력한 후 진행했다.

$ sudo apt-get purge nvidia*
$ sudo apt-get autoremove
$ sudo apt-get autoclean
$ sudo rm -rf /usr/local/cuda*

 

3) 설치 가능한 드라이버 확인하기

  $ ubuntu-drivers devices

위의 명령어로 설치가능한 드라이버를 확인한다.

나는 nvidia-driver-510을 설치했다.

# 원하는 버전 설치
 $ sudo apt install nvidia-driver-510
  
# 자동으로(추천으로) 설치
 $ sudo ubuntu-drivers autoinstall

 

4) modprobe 패키지 설치

참고했다던 블로그 중 세번째 블로그를 보면, modprobe package는 nvidia kernel module의 load를 도와준다고 되어있다.

  $ sudo apt-get install dkms nvidia-modprobe

  $ sudo apt update
  $ sudo apt upgrade

 # 재부팅
  $ sudo reboot

재부팅 후, 다음의 명령어를 실행해보고 제대로 나오는지 확인한다.

  $ nvidia-smi

 

4. CUDA 설치

https://developer.nvidia.com/cuda-11.3.0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04 

 

CUDA Toolkit 11.3 Downloads

Resources CUDA Documentation/Release NotesMacOS Tools Training Sample Code Forums Archive of Previous CUDA Releases FAQ Open Source PackagesSubmit a Bug

developer.nvidia.com

위의 페이지를 들어가, CUDA11.3을 다운로드 해준다.

ubuntu 20.04 다운로드

installer type은 셋 다 시도를 해봤는데, 딱히 속도 차이를 느끼지 못했다. 원하는 것으로 진행하면 될 것 같다.

나는 마지막 시도는 deb (network)로 진행했다.

deb (network) 코드 다운

다음과 같이 코드가 뜬다. 터미널을 열고 (ctrl+alt+T) 한 줄씩 따라 치면 된다.

 

설치 시 내가 봤던 error들은 무수히 많지만, 가장 흔히 나왔던 것들은 아래의 두 가지 이다.

 

1) Unable to correct problems, you have held broken packages

https://hustle-lenini.tistory.com/4

 

[Error] Ubuntu 20.04 "Unable to correct problems, you have held broken packages"

문제 발생 $ sudo apt-get install 실행 중에 "Unable to correct problems, you have held broken packages" 라는 error가 발생했다. 검색을 진행하다 다음의 페이지를 참고해 해결할 수 있었다. 더보기 https://open-support.tis

hustle-lenini.tistory.com

2) The repository ~ is not signed

https://hustle-lenini.tistory.com/5

 

[Error] ubuntu20.04 "E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 InRelease' is

문제 발생 $ sudo apt-get update 위의 명령어를 실행 시, "E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 InRelease' is not signed." error가 발생했다. 해결 방법 https://jstar0525.tistory.com

hustle-lenini.tistory.com

 

여기까지 설치 후,  nvidia driver와 cuda가 설치되었는지 확인하는 방법은 다음과 같다.

nvcc --version
nvidia-smi

재설치 과정 중 몇 번은 cuda 설치 전엔 nvidia-smi가 되다가, 설치 후엔 error가 떴던 적이 있다. 위의 방법대로 실행 시 명령어 둘 다 잘 나왔다.

 

 

 

 

반응형