godweiyang/GrabGPU

一款便捷的抢占显卡脚本

해결하는 문제

이 프로젝트는 GPU 메모리와 계산 자원을 점유하는 스크립트를 제공하여, GPU 사용을 시뮬레이션함으로써 다른 사용자나 자동화된 시스템이 GPU를 다시 점유하지 못하도록 방지합니다 (일반적으로 '가져오기' 또는 '강제 종료'라고 불림).

작동 방식

이 도구는 CUDA C++과 Tensor Cores (WMMA 16x16x16 FP16)를 사용하여 특정 양의 VRAM을 소비하고 목표 GPU 사용률을 유지하는 작업 부하를 생성합니다. 자동으로 커널 반복 시간을 조정하여 약 50ms로 안정화되도록 하여, nvidia-smi 및 DCGM과 같은 모니터링 도구가 일관된 메트릭을 보고하도록 합니다. 사용률이 100% 미만으로 요청된 경우, 스크립트는 활성 작업과 대기 상태를 번갈아 가며 목표 백분율을 정확히 달성하기 위해 듀티 사이클을 관리합니다.

대상 사용자

자원 관리 시스템이 유휴 GPU를 자동으로 다시 점유할 수 있는 공유 GPU 클러스터에서 작업하는 개발자 및 연구자들입니다.

주요 특징

  • 고정밀 시뮬레이션: SM 활동, SM 점유율, Tensor Core 활동을 시뮬레이션하여 실제 사용처럼 보이게 합니다.
  • 사용자 정의 가능한 파라미터: 정확한 VRAM 용량(GB), 점유 지속 시간, 특정 GPU ID, 목표 사용률을 지정할 수 있습니다.
  • 자동 보정: GPU 아키텍처에 관계없이 안정적인 메트릭을 유지하기 위해 커널 반복을 동적으로 조정합니다.
  • 통합 기능: GPU 자원이 성공적으로 점유되면 사용자 정의 쉘 스크립트(예: 모델 학습 스크립트)를 트리거할 수 있습니다.

관련

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