anderskm/gputil

A Python module for getting the GPU status from NVIDA GPUs using nvidia-smi programmically in Python

해결하는 문제

GPUtil은 머신 상의 사용 가능한 NVIDIA GPU를 프로그래밍 방식으로 식별하고 선택하는 문제를 해결합니다. 특히 딥러닝 작업에서 이미 과부하되거나 메모리가 부족한 GPU에 작업을 할당하지 않아 리소스 충돌과 크래시를 방지하기 위해 매우 유용합니다.

작동 방식

이 모듈은 nvidia-smi 명령줄 도구를 래핑하는 파이썬 래퍼로 작동합니다. 시스템에서 사용 가능한 모든 NVIDIA GPU를 쿼리하고 현재 상태(메모리 사용량, 부하 등)를 가져옵니다. 이후 사용자가 정의한 최대 부하 및 메모리 사용량 기준으로 GPU를 필터링하여 어떤 장치가 "사용 가능"한지 판단합니다.

대상 사용자

TensorFlow나 Caffe와 같은 딥러닝 라이브러리를 사용하는 개발자 및 연구자로, 여러 장치 간에 GPU 리소스를 동적으로 할당해야 하는 분들에게 적합합니다.

주요 기능

  • 유연한 선택: GPU ID, 부하, 메모리 사용량 기준으로 정렬하거나 무작위로 선택할 수 있습니다.
  • 자원 모니터링: 모든 GPU의 현재 상태를 빠르게 출력하는 showUtilization() 함수를 제공합니다.
  • GPU 메타데이터: UUID, 시리얼 번호, 드라이버 버전, 디스플레이 상태 등의 세부 하드웨어 정보에 접근할 수 있습니다.
  • 통합 예제: CUDA_VISIBLE_DEVICES를 사용한 TensorFlow에서 GPU 마스킹 및 Caffe에서 장치 선택의 구체적인 패턴을 포함하고 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트