⚙️환경설정-CUDA 설치 및 세팅

zioni·2025년 11월 25일

HDC 랩스 NOVA1기

목록 보기
3/6
post-thumbnail

🐹 0. 표기 규칙 (어디서 명령어를 치는지)

  • 💻 Windows (PowerShell / CMD)
  • 🐧 WSL Ubuntu 터미널
    • 시작 메뉴에서 “Ubuntu” 실행한 창
    • 혹은 VS Code에서 연 WSL: Ubuntu 통합 터미널
  • 🧩 VS Code (WSL 모드) 통합 터미널

🗺️ 1. 전체 구조

최종적으로 만들 구조:

Windows (드라이버) → WSL Ubuntu → Anaconda3(가상환경이름) → CUDA + PyTorch → VS Code에서 사용

흐름:

  1. 💻 Windows: NVIDIA 드라이버 + WSL2 + Ubuntu 준비
  2. 🐧 Ubuntu: Anaconda3 설치
  3. 🐧 conda: 가상환경이름 GPU용 환경 생성
  4. 🐧 가상환경이름: PyTorch + CUDA + 기본 패키지 설치
  5. (선택) 🐧 가상환경이름 안에 CUDA Toolkit (nvcc)도 conda로 설치
  6. 🧩 VS Code: WSL Ubuntu에 연결 + Python 인터프리터를 가상환경이름으로 선택
  7. 🧩 간단한 테스트 코드로 GPU 사용 여부 확인

💻 2. Windows

2-1. WSL2 + Ubuntu 설치

PowerShell(관리자 권한)에서:

wsl --install
  • 자동으로 Ubuntu 최신 버전 설치되는 경우가 많음
  • 재부팅 후 Ubuntu 처음 실행 시 리눅스 사용자 이름/비밀번호 설정

이미 WSL + Ubuntu 가 있다면 이 단계는 생략


2-2. NVIDIA 그래픽 드라이버 설치


🐧 3. WSL Ubuntu 기본 확인

3-1. Ubuntu 실행

  • 시작 메뉴 → Ubuntu-24.04 실행
  • 프롬프트 예시:
jiwon@DESKTOP-XXXX:~$

3-2. WSL에서 GPU 인식 확인

nvidia-smi

정상 예:

  • GPU 이름: NVIDIA GeForce RTX 4060 Laptop GPU
  • 드라이버/메모리 정보 표가 나오면 OK

nvidia-smi 가 안 되면 Windows 드라이버 또는 WSL 설정 문제부터 해결 필요


🐧 4. WSL 안에 Anaconda3 설치

4-1. (옵션) 기존 conda/Anaconda 깨끗하게 제거

이전 설정이 꼬였을 때 사용
새 노트북이면 보통 생략 가능

conda deactivate 2>/dev/null || true
conda env remove -n dl_gpu 2>/dev/null || true

rm -rf ~/anaconda3 ~/.conda ~/.condarc ~/.continuum

.bashrc 에 남아 있는 conda 초기화도 삭제:

nano ~/.bashrc

내용 중

# >>> conda initialize >>>
...
# <<< conda initialize <<<

부분 전체 삭제 후:

  • Ctrl + O → Enter (저장)
  • Ctrl + X (종료)

터미널 닫았다가 다시 열고:

conda

쳤을 때 command not found 나오면 완전 제거 완료.


4-2. Anaconda3 설치 스크립트 다운로드

cd ~
sudo apt update -y
sudo apt install -y wget

wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh -O anaconda.sh

버전(2024.02-1)은 예시. 나중에 최신 버전으로 교체 가능

4-3. Anaconda 설치 실행

bash anaconda.sh

설치 중:

  • 라이선스: Enter 여러 번 → yes
  • 설치 경로: 기본값 /home/<사용자>/anaconda3 사용
  • conda init 할지 여부: yes

4-4. conda 초기화 적용

source ~/.bashrc

프롬프트에 (base) 표시가 붙으면 정상:

(base) jiwon@DESKTOP-XXXX:~$

🐧 5. 딥러닝 전용 conda 환경 생성 (가상환경이름)

5-1. 환경 생성

conda create -n 가상환경이름 python=3.10 -y

5-2. 환경 활성화

conda activate 가상환경이름

프롬프트:

(가상환경이름) jiwon@DESKTOP-XXXX:~$

이제부터 딥러닝 관련 작업은 이 환경 기준으로 진행


🐧 6. 가상환경이름 환경에 필수 패키지 설치

6-1. pip / Jupyter / ipykernel 설치

conda install -y pip
pip install --upgrade pip

pip install ipykernel jupyter notebook
  • ipykernel 을 설치해야 VS Code / Jupyter에서 dl_gpu를 커널로 선택 가능

6-2. PyTorch + CUDA 설치

RTX 4060 + CUDA 12.x 기준 (예시):

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

실제 설치 시에는 PyTorch 공식 사이트 Install 페이지에서

OS/Package/Python/Compute Platform 선택 후 나오는 명령어를 사용하는 것이 가장 안전
무조건 공식 사이트가서 버전 맞추고 설치하세요!

6-3. 기본 딥러닝/컴퓨터비전 패키지

pip install opencv-python pillow matplotlib tqdm scipy scikit-image

YOLOv8 사용 예정이면:

pip install ultralytics

🐧 7. (선택) CUDA Toolkit(nvcc) conda로 설치

딥러닝만 할 거면 PyTorch wheel 안에 CUDA + cuDNN 포함 → 필수 아님

하지만 GroundingDINO, 커스텀 C++/CUDA 확장 빌드, 직접 CUDA 코드 작성 등에 필요

⚠️ apt로 cuda-toolkit-12-4 설치 시 우분투 버전 의존성 문제(libtinfo5 등)로 꼬일 수 있음

→ 새 세팅에서는 conda로 CUDA Toolkit 설치하는 게 가장 안전

7-1. conda CUDA Toolkit 설치

🔗 https://developer.nvidia.com/cuda-toolkit


🐹 링크 들어가서 Download Now 페이지 들어가면 내 컴퓨터 상황에 맞는 환경 선택한 후 나오는 터미널 명령어 한 줄씩 실행하기!🐹

7-2. nvcc 확인

which nvcc
nvcc --version

7-3. PyTorch + CUDA + nvcc 통합 체크

python - << 'EOF'
import torch, subprocess

print("Torch version:", torch.__version__)
print("Torch CUDA (torch.version.cuda):", torch.version.cuda)
print("CUDA available:", torch.cuda.is_available())
if torch.cuda.is_available():
    print("GPU:", torch.cuda.get_device_name(0))

print("\n---- nvcc --version ----")
subprocess.run(["nvcc", "--version"])
EOF


🐹 제가 뭘 잘못했는지... False가 뜨네요..
🐹 만약 여기서 True로 뜬다면 성공입니다!

💦 수정

🐹CUDA Toolkit을 업데이트하면서 작성했는데 업데이트한 후 Ubuntu 터미널을 재시작 안해서 생긴 오류였습니다~

이 단계까지 모두 정상 출력되면:

가상환경이름 환경 안에

PyTorch GPU + CUDA 런타임 + CUDA Toolkit(nvcc) 세팅 완료


🧩 8. VS Code ↔ WSL + 가상환경이름 연결

8-1. WSL 배포판 이름 확인

echo $WSL_DISTRO_NAME

  • 이 이름과 동일한 항목을 VS Code에서 선택

8-2. VS Code WSL 모드 실행 💻

  1. Windows에서 VS Code 실행(🐹 항상 관리자 권한으로 실행해주세요! )
  2. 왼쪽 아래 >< 클릭
  3. Connect to WSL using Distro... → 위에서 확인한 배포판 이름 선택
  4. 새 창 상단에 WSL: Ubuntu-24.04 등 표시되는지 확인


8-3. 작업 폴더 열기 🧩

VS Code 상단 메뉴:

File → Open Folder…


🐹 작업하고 싶은 폴더 클릭!

8-4. VS Code 터미널에서 가상환경이름 활성화 🧩

터미널 열고

conda activate 가상환경이름

프롬프트 확인:

(가상환경이름) jiwon@DESKTOP-XXXX:/home/jiwon/projects/프로젝트이름$

8-5. VS Code Python 인터프리터를 가상환경이름으로 설정 🧩

  1. .py 또는 .ipynb 파일 열기

  2. 우측 하단의 Python 3.x (...) 클릭

  3. 인터프리터 목록에서

    Python 3.10 가상환경이름: conda) 선택

이후 이 워크스페이스의 실행/디버깅/노트북은 모두 가상환경이름 환경을 사용.


🐹 밑의 커널에서 내가 선택한 가상환경이 뜬다면 잘 처리된 것입니다!


🧪 9. 최종 GPU 동작 테스트 (공통 스크립트)

9-1. 테스트 스크립트 작성 (test_gpu.py)

import torch

print("Torch version:", torch.__version__)
print("Torch CUDA:", torch.version.cuda)
print("CUDA available:", torch.cuda.is_available())

if torch.cuda.is_available():
    print("GPU:", torch.cuda.get_device_name(0))
    x = torch.randn(1024, 1024, device="cuda")
    y = torch.randn(1024, 1024, device="cuda")
    z = x @ y
    print("Matmul result mean:", z.mean().item())
else:
    print("⚠ GPU를 사용하지 못하는 상태입니다.")

→ 이 출력이 나오면 해당 노트북은 딥러닝/컴퓨터비전 GPU 환경 세팅 완료 상태


🧯 10. 자주 생기는 문제 & 점검 순서

10-1. nvidia-smi 가 안 될 때

  1. Windows에서 NVIDIA 드라이버 재설치
  2. 재부팅 후 다시 nvidia-smi 확인
  3. 그래도 안 될 경우 WSL 설정/버전 문제 점검

10-2. torch.cuda.is_available()False일 때

  1. 🐧 nvidia-smi 먼저 확인

  2. 🐧 PyTorch가 GPU 버전인지 확인:

    python -c "import torch; print(torch.__version__, torch.version.cuda)"
    
  3. 설치 정리 + 재설치:

    pip uninstall -y torch torchvision torchaudio
    pip cache purge
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
    
  • CPU 전용 PyTorch + GPU 전용 PyTorch가 섞여 설치되면 꼬이기 쉬움 → 재설치로 정리

10-3. nvcc: command not found

  • 딥러닝(PyTorch)만 사용한다면 실제 학습/추론에는 문제 없음.
  • C++/CUDA 확장(예: GroundingDINO MsDeformAttn)을 직접 빌드하려면:
    conda activate dl_gpu
    conda install -y "nvidia/label/cuda-XX.X.X::cuda-toolkit" -c "nvidia/label/cuda-XX.X.X"
    
    (XX.X.X는 설치 시점의 최신 버전)

10-4. VS Code에서 어떤 WSL 배포판을 선택할지 헷갈릴 때

echo $WSL_DISTRO_NAME

→ 여기 찍히는 이름(Ubuntu, Ubuntu-24.04 등)이

VS Code의 Connect to WSL using Distro... 에서 선택해야 할 대상


🐹 요즘 딥러닝 학습하려면 CUDA 환경설정은 필수니까 많이 연습해놓자...

profile
Seoul National University of Science and Technology, Architectural Engineering (B.S.)

1개의 댓글

comment-user-thumbnail
2025년 11월 27일

잘 정리하셨네요 ^^

답글 달기