GPU 개발환경 구축하기!
현재 서버 컴퓨터에 CUDA 버전을 확인 :
NVIDIA 드라이버와 기본 CUDA 런타임 환경
nvidia-smi
- CUDA 버전: 12.2
- NVIDIA 드라이버 버전: 535.86.10
- GPU 모델: NVIDIA GeForce RTX 3090
- 메모리: 24576MiB (24GB)
- 현재 사용 중인 메모리: 3MiB (거의 사용하지 않는 상태)
- 전력 사용량: 18W / 350W
- 온도: 29°C
- GPU 사용률: 0%
딥러닝 모델 학습을 위해서는 추가로 CUDA Toolkit이 필요.
- 개발 도구 제공:
- CUDA 컴파일러(nvcc)
- 디버깅 도구
- 성능 분석 도구
- GPU 프로그래밍에 필요한 라이브러리들
- 딥러닝 프레임워크와의 호환성:
- PyTorch, TensorFlow 등의 프레임워크들이 CUDA Toolkit의 특정 버전에 의존
- 프레임워크 설치 시 CUDA 코드를 컴파일하는 과정이 필요
- 최적화된 연산 라이브러리:
- cuDNN: 딥러닝 연산에 최적화된 NVIDIA의 라이브러리
- cuBLAS: 기본적인 선형대수 연산 라이브러리
- 이러한 라이브러리들이 CUDA Toolkit에 포함되어 있음
즉, 드라이버만으로는 GPU를 인식하고 기본적인 사용은 가능하지만, 실제 딥러닝 학습을 위한 개발 환경을 구축하려면 CUDA Toolkit이 필요
툴킷을 깔때에는 자신의 환경에 맞는 운영체제와 아키텍쳐를 선택해서 깔아야한다..
운영체제 확인:
cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
uname -m
x86_64 = : 64비트 x86 아키텍처
이제 다운로드받을 페이지로 이동
아래를 하나하나 입력해준다.
이제 환경변수로 설정.
/etc/profile.d/ 디렉토리에 새로운 파일을 만듦.
# 새 파일 생성
sudo vi /etc/profile.d/cuda.sh
"""내용"""
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
#권한 설정
sudo chmod +x /etc/profile.d/cuda.sh
# 즉시 적용하기
source /etc/profile.d/cuda.sh
# 설정 확인
echo $PATH | grep cuda
nvcc --version
PyTorch는 CUDA 12.8과 호환되는 버전을 설치
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
설치 완료!!
- 시스템에 설치된 CUDA 버전: 12.8 (nvcc --version)
- PyTorch가 사용하는 CUDA 버전: 12.4
- CUDA는 하위 호환성을 지원
- PyTorch는 자체적으로 CUDA 런타임을 포함하고 있음
- 12.4와 12.8은 모두 최신 버전이라 호환성 문제가 없음
아.. 그런데 이거 깔아야한다고 알려준 팀원 말이, 11.8을 깔아야 한다고. 그런데 이게ㅎㅎㅎㅎ
드라이버 충돌났다고 아무리 해도 안깔린다.
이미 11.8이 기존 서버에 설치되어 있어서 안되는 것 같은데 흠....
'공부방 > Upstage AI Lab 4기' 카테고리의 다른 글
기업연계 프로젝트가 끝났다, 이제 부트캠프도 곧 끝! (0) | 2025.02.08 |
---|---|
[RAG] 인터뷰용 챗봇 만들기 (0) | 2025.02.03 |
[git] gitignore을 먼저 만들어두고 레파지토리에 연결 (0) | 2025.01.29 |
패스트캠퍼스 Upstage AI Lab 부트캠프 4기 | 기업 연계 프로젝트 (0) | 2025.01.21 |
[Coding] LinkedLists, Listnode (0) | 2024.12.27 |