NVIDIA GPU 환경 설정
NVIDIA GPU 환경을 설정하기 위한 드라이버와 라이브러리를 설치하는 과정과 기본 이미지로 인스턴스를 생성 후 GPU 드라이버를 추가하는 방식을 설명합니다.
- 예상 소요 시간: 30분
- 권장 운영 체제: MacOS, Ubuntu
- 사전 준비 사항
시나리오 소개
이 시나리오에서는 NVIDIA GPU를 활용한 머신러닝이나 딥러닝 작업을 위해 카카오클라우드 환경에서 NVIDIA 드라이버와 CUDA, cuDNN 라이브러리를 설치하고 설정하는 방법을 설명합니다. 사용자는 기본적으로 제공되는 Ubuntu 20.04 NVIDIA 이미지나 원하는 특정 NVIDIA/CUDA 버전을 사용하여 인스턴스를 생성하고, 필요한 드라이버와 라이브러리를 설치할 수 있습니다.
주요 내용은 다음과 같습니다.
- NVIDIA 드라이버 프리인스톨 이미지를 사용하여 GPU 환경을 간편하게 설정하는 방법
- 특정 NVIDIA/CUDA 버전이 필요한 경우, 기본 Ubuntu 이미지를 이용해 원하는 드라이버와 라이브러리 버전을 설치하는 방법
- GPU 인스턴스의 퍼블릭 IP를 통해 SSH로 접속하고 드라이버 및 라이브러리를 설치하는 과정
- CUDA와 cuDNN 라이브러리 설치 후 환경 검증
시작하기 전에
사전 작업으로 VPC와 서브넷, 보안 그룹을 설정합니다.
1. VPC와 서브넷 생성
인스턴스를 생성하기 전, 인스턴스가 생성될 VPC 및 서브넷을 생성해야 합니다. VPC와 서브넷이 없다면, VPC 생성, 서브넷 생성 문서를 참고하여 VPC 및 서브넷을 생성합니다.
2. 보안 그룹 설정
보안 그룹 생성 문서를 참고하여 보안 그룹을 생성합니다. 인바운드 규칙은 다음과 같이 추가합니다.
다음 버튼을 클릭하면 현재 사용 중인 나의 퍼블릭 IP를 확인할 수 있습니다.
CIDR | 프로토콜 | 포트 | 역할 |
---|---|---|---|
{사용자 퍼블릭 IP}/32 | TCP | 22 | ssh |
시작하기
NVIDIA GPU 환경을 설정하기 위한 NVIDIA 드라이버 프리인스톨 이미지 사용 방식과 일반 Ubuntu 이미지를 사용하는 방식을 설명합니다.
Type 1. NVIDIA 드라이버 프리인스톨 이미지 사용
카카오클라우드에서 제공하는 기본 이미지인 Ubuntu 20.04(NVIDIA VERSION)를 통해 GPU 인스턴스를 생성하는 방법은 다음과 같습니다. 이 이미지에는 NVIDIA 드라이버 버전 470.199.02, CUDA 버전 11.4이 포함되어 있으므로, 별도의 NVIDIA 드라이버 또는 CUDA 설치가 필요하지 않습니다.
Ubuntu 20.04 (NVIDIA VERSION) 이미지 이외에 다른 버전의 이미지를 사용할 경우에는 일반 Ubuntu 이미지를 사용 문서를 참고하시기 바랍니다.
Step 1. GPU 인스턴스 생성
-
카카오클라우드 콘솔에 접속 후, 사전 작업을 수행하고 GPU 메뉴를 선택합니다.
-
인스턴스 메뉴에서 [인스턴스 생성] 버튼을 클릭합니다.
-
인스턴스 생성에서 아래 항목에 해당하는 VM 인스턴스를 생성 후, [생성] 버튼을 클릭합니다.
항목 설정값 기본 정보 - 이름: 자유롭게 지정
- 개수: 1개이미지 기본 탭에서 최신 버전의 Ubuntu 20.04 - 5.4.0-190(NVIDIA) 선택 인스턴스 유형 p2i.6xlarge 볼륨 루트 볼륨: 50GB 또는 그 이상 키 페어 프라이빗 키 .pem
형식이며, 새로 생성 또는 기존 키 사용 가능네트워크 - VPC: 사전 작업에서 미리 생성한 VPC 선택
- 서브넷: 사전 작업에서 미리 생성한 서브넷 선택
- 보안 그룹: 위에서 생성한 보안 그룹 선택
Step 2.퍼블릭 IP 연결
GPU 인스턴스에 퍼블릭 IP를 연결합니다.
- 카카오클라우드 콘솔에서 Beyond Compute Service > GPU 메뉴를 선택합니다.
- 위에서 생성한 GPU 인스턴스의 [더 보기] 아이콘을 클릭 후, 퍼블릭 IP 연결을 클릭합니다.
- 퍼블릭 IP 연결 설정 팝업창에서 새로운 퍼블릭 IP를 생성하고 자동으로 할당을 클릭 후, [확인] 버튼을 클릭합니다.
- 퍼블릭 IP 칼럼에서 퍼블릭 IP를 확인합니다.
Step 3. cuDNN 설치
딥 뉴럴 네트워크를 위한 GPU 가속화 라이브러리인 NVIDIA cuDNN(NVIDIA CUDA Deep Neural Network library)을 설치합니다.
-
cuDNN 파일을 실행하기 위해 해당 인스턴스에 SSH 접속합니다.
ssh ubuntu@${HOST_PUBLIC_IP} -i ${PRIVATE_KEY_FILE}.pem
#예제) ssh ubuntu@210.100.00.000 -i test.pem파라미터 유형 필수 여부 설명 HOST_PUBLIC_IP String 필수 GPU 인스턴스의 퍼블릭 IP 주소 PRIVATE_KEY_FILE String 필수 프라이빗 키 파일 SSH 접속 완료
-
다음 NVIDIA에서 제공하는 cuDNN 설치 가이드를 확인하여 cuDNN과 cuda를 설치합니다. 해당 문서는 Ubuntu 20.04 버전에서 cuDNN을 설치하는 방법과 명령어를 안내합니다.
-
아래 명령어 를 통해 정상 설치된 cuDNN을 확인합니다.
cat /usr/include/x86_64-linux-gnu/cudnn_version*.h | grep CUDNN_MAJOR
# define CUDNN_MAJOR 9cuDNN 설치 완료
Type 2. 일반 Ubuntu 이미지를 사용
카카오클라우드에서 제공하는 NVIDIA 드라이버 프리인스톨 이미지가 아닌 특정 NVIDIA 또는 CUDA 버전이 필요한 경우에는, 일반 Ubuntu 이미지를 사용하여 원하는 NVIDIA 또는 CUDA 버전을 설치할 수 있습니다.
Step 1. GPU 인스턴스 생성
-
카카오클라우드 콘솔에 접속 후, 사전 작업을 수행하고 GPU 메뉴를 선택합니다.
-
인스턴스 메뉴에서 [인스턴스 생성] 버튼을 클릭합니다.
-
인스턴스 생성에서 아래 항목에 해당하는 VM 인스턴스를 생성 후, [생성] 버튼을 클릭합니다.
항목 설정값 기본 정보 - 이름: 자유롭게 지정
- 개수: 1개이미지 기본 탭에서 최신 버전의 Ubuntu 20.04 - 5.4.0-190 선택 인스턴스 유형 p2i.6xlarge 볼륨 루트 볼륨: 50GB 또는 그 이상 키 페어 프라이빗 키 .pem
형식이며, 새로 생성 또는 기존 키 사용 가능네트워크 - VPC: 사전 작업에서 미리 생성한 VPC 선택
- 서브넷: 사전 작업에서 미리 생성한 서브넷 선택
- 보안 그룹: 위에서 생성한 보안 그룹 선택
Step 2.퍼블릭 IP 연결
GPU 인스 턴스에 퍼블릭 IP를 연결합니다.
- 카카오클라우드 콘솔에서 Beyond Compute Service > GPU 메뉴를 선택합니다.
- 위에서 생성한 GPU 인스턴스의 [더 보기] 아이콘을 클릭 후, 퍼블릭 IP 연결을 클릭합니다.
- 퍼블릭 IP 연결 설정 팝업창에서 새로운 퍼블릭 IP를 생성하고 자동으로 할당을 클릭 후, [확인] 버튼을 클릭합니다.
- 퍼블릭 IP 칼럼에서 퍼블릭 IP를 확인합니다.
Step 3. GPU 인스턴스 접속 및 환경 확인
-
프라이빗 키 파일이 위치한 경로로 이동합니다.
-
위에서 생성한 퍼블릭 IP에 ssh로 접속하여 정상 동작을 확인합니다.
ssh ubuntu@${HOST_PUBLIC_IP} -i ${PRIVATE_KEY_FILE}.pem
파라미터 유형 필수 여부 설명 HOST_PUBLIC_IP String 필수 호스트 퍼블릭 IP 주소 PRIVATE_KEY_FILE String 필수 프라이빗 키 파일 -
GPU 인스턴스의 이미지 정보 및 NVIDIA 장치 정보를 확인합니다.
cat /etc/*release
lspci | grep -i NVIDIA
Step 4. NVIDIA 드라이버 설치
GPU 환경을 구성하기 위해 필요한 드라이버와 라이브러리를 확인하여 설치합니다.