ubuntu에서 nvidia driver를 설치하는 많은 이유는 개발환경에 필요하기 때문일텐데요
특히 요즘에는 많은 인공지능 패키지, 오픈소스를 사용하기위해 cuda가 필요합니다.
cuda는 nvidia 그래픽카드에서 돌아갈 수 있는 프로그램들을 개발하고 구동할 수 있게 해주는 tool입니다.
많은 인공지능 분야에서 성능을 높히기 위해 그래픽카드,tpu등의 하드웨어 보조를 받고있고
tensorflow, pytorch와 같은 오픈소스들도 cuda를 사용하여 만들곤 합니다.
하지만 각 패키지, 오픈소스들은 다른 버전의 cuda로 만들어졌기 때문에 cuda-version에 종속적인 경우가 대부분입니다.
또한 nvidia 그래픽카드에 따라 설치가능한 드라이버 버전의 상한이 존재하고 드라이브 버전에 따라 cuda를 설치 할 수 있는 버전도 상한이 존재하므로 자신이 설치 가능한 버전을 파악후 알맞는 오픈소스버전(tensorflow, pytorch)을 사용바랍니다.
예로
pytorch -> cuda 9.2버전 +
tensorflow > =1.3 -> cuda 10.0
tensorflow < 1.3 -> cuda 9.0
정확한 version 체크는 공식 사이트에서 쉽게 확인 가능합니다.
그래픽카드 종류에 따라 설치할 수 있는 cuda의 상한이 존재하므로 어떤 오픈소스를 사용하실지 혹은 cpu버전을 설치할지 고민이 필요합니다.
sudo apt-cache search ^nvidia-driver
apt 저장소에서 설치가능한 드라이버 패키지를 찾아봅니다.
하지만 모두 설치한다고 다 사용 할 수 있는건 아닙니다. 또한 apt 저장소에 없는 버전을 설치하고 싶다면 직접 nvidia 사이트에서 자신의 운영체제에 알맞는 것으로 직접 설치하시길 바랍니다.
lspci | grep -i VGA
현재 장착된 그래픽카드 확인
https://www.nvidia.co.kr/Download/Find.aspx?lang=kr
설치 가능한 드라이버를 확인후 그 중에서 웬만하면 가장 높은 버전으로 설치해 줍시다.
저는 390이 가장 높은 버전이므로
위에서 sudo apt-cache ^nvidia-driver로 확인한 패키지중 390을 설치하겠습니다.
sudo apt-get install <설치할 패키지명>
설치할 패키지명은 위에서 확인한 이름으로 하시면 됩니다.
reboot 후 !
간단하게 설치끝!!
nvidia-smi
확이 가능하면 설치완료
access할 수 없다는 오류가 나왔다면 설치가 안됬거나 버전이 맞지 않는다거나 여러 이유로 드라이버가 실행이 안되고 있는 것입니다.
아래 사진은 390을 잘 사용하다가 다운그레이드 해야할 일이 있어서 나중에 찍은 사진입니다.
재부팅후 검은 화면에서 더 이상 켜지지 않는 경우
저도 겪었던 오류인데, 화면이 더 이상 진행되지 않고 검은화면에 글씨만 나오는 상태가 지속됩니다.
이는 드라이버가 제대로 실행되지 않을때 발생하는 오류 현상입니다.
ssh로 원격에서 접속했을 때 멀쩡하게 컴퓨터 내부는 잘 돌아가고 있는 상황에서 화면만 부팅이 되지 않습니다.
(근본적인 원인은 driver가 GPU 장치를 정확하게 인지 못하는 것이 아닐까..?)
로컬 콘솔에서 ctrl + F2로 터미널 접속도 가능합니다.
security boot가 enalbe 되어 있을 때 생기는 오류로 bios창으로 들어가 security boot를 disable로 해주세요
( 이건 저도 안해봤지만.. 해결되지 않으면 , 혹시 driver가 booting time에 제대로 인식을 못했을 가능성도 있으므로 그외 boot 설정도 한번 off...)
만일 이래도 고쳐지지 않는다면 일단은..ssh 원격으로 접속하고
(ctrl + F2 로 터미널 접속도 가능합니다.)
sudo apt-get purge <설치했던 드라이버 패키지>
삭제하면 다시 원상 복귀는 가능합니다.
그래도 안된다면 새로운 그래픽 드라이버를 설치해주세요.
더 낮은 버전의 그래픽카드 혹은 nouveau(우분투 기본 그래픽드라이버)가 있다면 활성화, 없다면 설치...
-----------------------------------------------------------------------------------------------------------------------------
저의 경우 nvidia-390이 잘되다가 어느날 갑자기 GUI 화면이 부팅되지 않아 nvidia-340으로 그냥 쓰던 도중
새로운 커널을 사용하다가 다시 커널을 삭제하고 원래 커널로 돌아 왔더니 다시 nvidia-390 driver가 잘 되기도 했습니다.
위 해결방법들로도 해결이 안된다면 커널을 바꾸거나 커널 환경을 한번 초기화해보는 것도 방법인거 같습니다.
sudo apt-get update
sudo apt-get upgrade
업데이트 할 커널버전이 있으면 위 명령어로도 자동으로 업그레이드 됬을지도 모르겠군요.
직접 리눅스 사이트에서 커널을 설치하게되면 현 우분투 버젼과 커널 버전이 맞지 않아 GUI등 몇가지 기능이 실행이 되지 않을 수 있으므로 웬만하면 apt 저장소에서 제공하는 커널로 설치해주세요.
$ apt-cache search linux-image
설치 가능한 리눅스 커널 버전을 찾아봅니다.
$ uname -a
현재 커널을 버전을 확인 가능하므로 동일버전으로 다시 설치해보거나 다른버젼을 설치해봅시다.
저처럼 새로운 커널을 쓰다 원래 커널로 돌아오는 법은 위 방법대로 아무 커널이나 설치하셨다가.
sudo dpkg -l | grep linux-image
검색하셔서 방금 전에 새로 설치했던 커널버전을 삭제 해주시면 원래 커널을 지우지만 않았다면 리부팅했을때 자동으로 돌아와 있습니다.
'Linux > Ubuntu' 카테고리의 다른 글
Linux C/C++ shared library 컴파일하기 fPIC 옵션 GOT, PLT (0) | 2020.02.06 |
---|---|
Ubuntu 부팅시 자동실행 by rc.local (1) | 2020.01.17 |
Ubuntu (우분투) cuda 9.0 설치, cudNN 설치 , tensorflow-gpu 설치 (0) | 2020.01.03 |
Ubuntu(우분투) vim 설치 및 설정, Vundle 설치, Plugin 설정 (0) | 2019.12.29 |
Ubuntu(우분투) ssh server 설치, port forwarding ssh, 홈 desktop으로 ssh server 열기 (0) | 2019.12.29 |
댓글