카테고리 없음

GCP 사용법3(GPU 드라이버, CUDA 설치)

루피95 2025. 1. 19. 16:52

이전 시간까지 GCP의 VM 인스턴스를 생성하고, VS Code까지 연결하는 방법에 대해 알아봤습니다.

오늘은 이제 사용가능해진 GCP에 nvidia-driver, cuda 등 GPU 가속기를 사용할 때 필요한 라이브러리 설치방법에 대해 알아보고 GCP 사용법에 대해 마무리를 지으려고 합니다!

(시간이 안된다면 cudnn은 따로 추가적으로 작성하겠습니다!)

 

 

※참고로 저도 GCP 사용이 처음이라 미숙하고 다 알지는 못합니다!

따라서 아래 포스팅 내용 중 틀린 부분이 있다면 댓글로 알려주시면 감사하겠습니다!!

 

 

0. 그 전에

GCP 무료 크레딧을 사용하시는 분들이라면 비용적인 측면때문에 VM 인스턴스를 계속 켜두시는 건 무리라고 생각됩니다. 아무래도 VM 인스턴스를 '시작-중지'를 많이 하실 거 같은데요.

여기서 문제는 중지된 인스턴스를 재개할 때 외부 IP가 바뀌게 되며 이전에 VScode에 연결해놓은 ssh를 이용하지 못하게 됩니다. 따라서 해당 문제를 해결하기 위해선 두 가지 방법이 있습니다.

 

1. 외부 IP 고정하기해당 방법은 재개할 때 마다 바뀌는 외부 IP를 고정시켜 놓는 것입니다.

 

먼저 왼쪽 상단 줄 세개(탐색메뉴)를 클릭하고 VPC 네트워크 > IP 주소를 클릭합니다.

 

IP 주소로 들어가 보면 내부 IP와 외부 IP목록이 뜨게 되는데 여기서 외부 IP의 가장 오른쪽에 있는 점 세개를 클릭해줍니다.

 

'고정 IP 주소 승격'이란 팝업이 뜨게 되며, 아래와 같이 'IP 주소 승격' 이란 창이 뜹니다. 여기서 임의의 이름을 설정하고 예약을 눌러주시면 됩니다.

 

외부 IP 주소를 고정해두면 좋은 점이 VM 인스턴스를 재개할 때 마다 IP 주소가 바뀌지 않기 때문에 VScode를 연결할 때 번거로움이 없습니다. 

하지만 단점으로는 VM인스턴스를 중지해도 요금이 부과됩니다.

 

2. VSCode에서 외부 IP 주소 수정

외부 IP 고정의 경우 IP가 고정됐기 때문에 편리하게 사용할 수 있지만 요금이 부과된다는 단점이 존재했습니다. 만약 나는 요금이 나가는 건 싫고, 살짝의 귀찮음은 감수할 수 있다! 하시는 분은 해당 방법을 사용하시는 걸 추천드립니다.

 

우선 아래 그림과 같이 왼쪽 하단의 'Remote Explore'를 클릭한 뒤 SSH 옆 톱니바퀴를 선택합니다.

그 후에 config 파일을 클릭해줍니다.

 

config파일에 들어가 보면 제가 만든 ssh 정보가 뜨게 되며, 외부 IP 정보는 HostName에 존재하게 됩니다. 그럼 새로 갱신된 외부 IP 주소를 여기다 복붙해주시면 됩니다!

 

해당 방법은 별도의 요금이 부과되지 않는다는 장점이 있지만, 단점으론 매번 갱신된 IP 주소를 수정해줘야 하기 때문에 귀찮음이 존재한다는 단점이 있습니다!

 

 

 

1. GPU 드라이버 설치

이제 VSCode에 인스턴스를 연결했다면 GPU를 돌릴 수 있는 환경을 구성해봅니다.

(그냥 연결시키면 거기서 끝일 줄 알았는데 참 할게 많죠?ㅎㅎ)

 

단순히 VSCode에 인스턴스를 연결했다고 끝이 아닙니다. GPU를 사용하려면 GPU 드라이버를 설치해야하고, 딥러닝에서 해당 가속기를 활용할 수 있도록 도와주는 CUDA, Cudnn 등의 라이브러리를 설치해야 하거든요. 먼저 GPU 드라이버 설치 방법을 알아보도록 하겠습니다. 

 

1.1 OS 환경 확인

현재 OS 환경을 알 수 있는 아래 코드를 입력해줍니다. 

lsb_release -a

 

저는 OS가 Debian이네요(제가 debian을 했었나? 하는건 아직도 의문입니다.)

OS를 확인하는 이유는 드라이버를 설치할 때 어떤 OS인지에 따라 명령어가 달라지기 때문입니다.

여기서 만약 `lsb_release -a` 명령어가 먹지 않는다면 아래와 같은 코드를 입력하시기 바랍니다.

sudo apt-get update && apt-get install -y lsb-release && apt-get clean all

 

 

1.2 driver 설치

저는 OS가 debian이기 때문에 아래와 같은 코드를 입력해 driver를 설치해줍니다.

 

우선 패키지 목록을 업데이트 해줍니다.

sudo apt update

 

그 뒤 nvidia-driver를 설치해줍니다.

sudo apt install -y nvidia-driver

 

만약 OS가 ubuntu라면 아래와 같이 입력해주세요.

sudo apt install -y ubuntu-drivers-common

 

 

1.3 설치 확인

위의 과정을 진행했다면 아래 코드를 입력해 driver가 잘 설치됐는지 확인합니다.

nvidia-smi

저는 nvidia-driver 470 버전이 설치됐으며, cuda는 11.4 버전까지 설치할 수 있겠군요.(최신 버전은 아닌 거 같습니다.)

 

 

2. CUDA 설치

cuda는 NVIDIA에서 만든 GPU의 가상 명령어셋을 사용할 수 있도록 만들어주는 소프트웨어 레이어라고 합니다. 사실 저는 아직도 CUDA와 Cudnn의 차이를 잘 모르긴 합니다... GPU의 명령어를 이해하는 소프트웨어인가..?

쨌든 CUDA가 있어야 GPU를 제대로 사용할 수 있습니다.

 

2.1 CUDA 설치

우선 CUDA를 설치하기 위해선 내 GPU 드라이버의 버전과 사용 가능한 CUDA버전을 확인해야 합니다. 해당 정보는 

nvidia-smi 명령어를 이용해 확인할 수 있으며 저의 경우는

  • Driver Version : 470.256.02
  • CUDA Version : 11.4

가 됩니다. Driver Version은 470이며 CUDA는 11.4버전까지 설치가 가능하다고 이해하면 됩니다.

 

그럼 이제 CUDA Toolkit을 설치해야 하는데 해당 링크 에서 자신의 환경에 맞게 필터를 걸고 Installation Instrucsion을 그대로 수행하면 됩니다. 저는 아래와 같습니다.

여기서 중요한 건 Installer Type을 runfile로 지정하는 것입니다.

deb의 경우 GPU 드라이버를 따로 설치하게 되는데, 이미 저희는 앞에서 GPU 드라이버를 설치했기 때문에 이미 설치된 드라이버와 충돌이 일어나 오류가 발생한다고 합니다. 그러므로 저는 runfile방법을 선택했습니다.

 

저렇게 제 환경에 맞게 선택을 하면 아래와 같은 Installation Instructions가 나옵니다.

$ wget https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux.run
$ sudo sh cuda_11.4.4_470.82.01_linux.run

위의 내용을 그대로 터미널에 복붙! 해주시면 됩니다.

위의 코드는 제 환경에 맞는 코드며, 각자 환경에 맞게 필터를 걸고 그에 맞는 Installaton Instructions를 수행해 주어야 합니다! 제 코드를 그대로 하시면 버전이 안맞아서 오류가 발생할 수도 있어요!!

 

 

2.2 CUDA 설치 확인

설치가 완료되고 아래 코드를 수행했을 때, cuda-11.4가 존재한다면 정상적으로 설치가 완료된 것입니다!

ls /usr/local

 

 

2.3 CUDA PATH 설정

이제 마지막으로 CUDA PATH를 설정해주면 CUDA 설치는 완료됩니다!

 

(1) 환경 변수 파일 열기

nano ~/.bashrc

 

(2) 다음 줄 추가

export PATH=/usr/local/cuda-11.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH

cuda-11.4는 제 cuda의 버전이고 각자 버전에 맞게 수정해주시면 됩니다.

해당 줄을 파일에 추가했다면 Ctrl+O(저장), Ctrl+Z(나가기) 해주시면 됩니다.

 

(3) 변경 내용 적용

source ~/.bashrc

 

(4) 설치 확인

nvcc --version

 

해당 코드를 실행했을 때 위와 같은 결과가 나온다면 CUDA가 제대로 설치된 것입니다!

 

 

여기까지 Nvidia-driver, CUDA 설치 내용이었습니다. 

개인적인 시간 관계상 Cudnn은 따로 빼서 추가 포스트로 하도록 하겠습니다! 여기까지 같이 따라와주셔서 감사하고 잘못된 부분이나 질문 있으실 경우 답글로 달아주세요!! 감사합니다.ㅎㅎ

반응형