HPC & GPU Engineering/Platform Essentials

📘 고성능 AI 컴퓨팅 인프라 용어 사전 (32) – nvidia-smi, nsys, nvprof, cuda-gdb: GPU 분석 툴 총정리

ygtoken 2025. 8. 10. 08:14
728x90

 

AI 학습 성능이 기대만큼 안 나올 때, 가장 먼저 확인하는 건 nvidia-smi입니다.

하지만 이것만으로는 부족합니다.

 

  • 왜 GPU는 사용률이 낮을까?
  • 커널이 오래 걸리는 이유는 무엇일까?
  • 병렬 연산이 비효율적인 이유는?

 

이런 문제를 해결하려면 딥하게 들어가야 합니다.

이번 글에서는 NVIDIA 기반 GPU 분석 및 디버깅을 위한 주요 도구들을 정리해보겠습니다.

 


nvidia-smi: GPU 상태 확인의 시작점

항목 설명
이름 nvidia-smi
목적 GPU 장치 상태 및 메트릭 실시간 확인
주요 기능 사용률, 메모리, 전력, fan, process 정보 등
실무 활용 GPU health check, OOM 발생 확인, runaway job 탐지
명령 예시 watch -n 1 nvidia-smi
대부분의 실시간 GPU 모니터링은 이 명령으로 시작됨

 


nvprof (구버전) → nsys (신버전)

도구 설명
nvprof CUDA 커널별 실행 시간, 메모리 전송량 등 분석 (구버전, deprecated)
nsys NVIDIA 공식 최신 퍼포먼스 분석 도구 (Nsight Systems)
목적 커널별 실행 시간, 오버헤드, CPU-GPU 타이밍 분석
출력 GUI + CLI 분석 결과, 타임라인 시각화
명령 예시 nsys profile -o result ./main
nsys는 성능 병목 파악에 매우 유용. 특히 커널 단위 분석, 멀티 스레드 구조 확인에 탁월

 


cuda-gdb: GPU 디버깅 툴

항목 설명
이름 cuda-gdb
역할 GPU 코드의 브레이크포인트, 변수 추적, 스택 분석 등
특징 GDB와 유사한 CLI 환경, CUDA 스레드 단위 디버깅
실무 적용 커널에서 예상치 못한 결과, 메모리 오류 추적 시 사용
제한 초기에는 steep한 러닝커브 → 최근 버전에서 개선됨

 


관련 도구들

도구 설명
nvtop htop 스타일의 GPU 상태 시각화 도구
ncu (NVIDIA Nsight Compute) GPU 커널 단위 상세 프로파일링 도구
DCGM (Data Center GPU Manager) NVIDIA GPU 운영 상태 모니터링 프레임워크 (exporter와 함께 사용)
DLProf Deep Learning 모델 최적화 분석 (PyTorch, TensorFlow 전용)

 


실무 활용 예시

시나리오 도구 설명
GPU 사용률 낮음 nvidia-sminsys 커널 실행 간격, IO 오버헤드 확인
특정 커널 느림 nsys / ncu 해당 커널만 분석, 루프 병목 찾기
모델이 죽음 cuda-gdb GPU 스레드 기준 디버깅
서빙 latency 튐 nsys + Prometheus trace 트레이스 기반 병목 위치 시각화

 


마무리

 

nvidia-smi는 기본기,

nsys는 성능 분석의 본질,

cuda-gdb는 디버깅의 종결자입니다.

 

이 도구들을 잘 다루면,

GPU 클러스터를 단순 “학습 인프라”가 아닌 “튜닝 가능한 시스템”으로 끌어올릴 수 있습니다.

 

 

728x90