nvitop; 대화형 NVIDIA-GPU 프로세스 관리를 위한 원스톱 솔루션

2024. 9. 5. 14:02·AI/MLOps

nvitop은 상호작용이 가능한 NVIDIA 장치 및 프로세스 모니터링 도구입니다. 이 도구는 장치와 프로세스의 상태를 지속적으로 업데이트하며, 컬러풀하고 유용한 인터페이스를 제공합니다.

https://github.com/XuehaiPan/nvitop?tab=readme-ov-file

 

GitHub - XuehaiPan/nvitop: An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management

An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management. - XuehaiPan/nvitop

github.com

 

리소스 모니터로서 tree-view, 환경 변수 보기, 프로세스 필터링, 프로세스 메트릭 모니터링 등의 다양한 기능과 옵션을 포함하고 있습니다. 그 외에도, 딥러닝 연구자들을 위해 CUDA 장치 선택 도구인 nvisel을 제공합니다. 또한, 개발자가 자신만의 모니터링 도구를 작성할 수 있도록 편리한 API도 제공합니다.

 

 

주요기능

무엇보다도, 예쁩니다

  • 색상이 들어간 멋진 UI를 통해 nvidia-smi보다 더 많은 정보를 제공합니다.

nvidia-smi와 비교

 

모니터 모드

결과를 한 번만 출력하는 대신, 리소스 모니터로 실행 가능합니다.

  • 막대 차트와 히스토리 그래프
  • 프로세스 정렬
  • 프로세스 필터링
  • keystroke로 프로세스에 신호 보내기
  • GPU 프로세스와 해당 부모 프로세스를 위한 tree-view 화면
  • 환경 변수 화면
  • 도움말 화면
  • 마우스 지원

MIG 장비도 지원합니다!

 

특정 프로세스에 대한 매트릭만 모니터링 할 수 있습니다.

 

도움말 화면

 

상호작용 가능

모니터 모드에서 사용자의 입력(키보드 및/또는 마우스)에 반응합니다. (vs. gpustat & py3nvml)

 

효율적

  • nvidia-smi의 출력을 파싱하는 대신 NVML Python 바인딩을 직접 사용하여 장치 상태를 쿼리합니다. (vs. nvidia-htop)
  • cachetools의 TTLCache를 사용하여 희소 쿼리와 캐시 결과를 지원합니다. (vs. gpustat)
  • ANSI 이스케이프 코드로 출력하는 대신 curses 라이브러리를 사용하여 정보를 표시합니다. (vs. py3nvml)
  • 멀티스레딩을 사용하여 비동기적으로 정보를 수집하고 사용자 입력에 더 빠르게 응답합니다. (vs. nvtop)

 

이식성

Linux와 Windows에서 모두 작동합니다.

  • 하위 프로세스에서 ps -p <pid> 명령을 호출하는 대신, 크로스 플랫폼 라이브러리인 psutil을 사용하여 호스트 프로세스 정보를 가져옵니다. (vs. nvidia-htop & py3nvml)
  • 순수 Python으로 작성되었으며 pip으로 쉽게 설치할 수 있습니다. (vs. nvtop)

 

통합 가능

모니터링 이상의 다른 애플리케이션에 쉽게 통합할 수 있습니다. (vs. nvidia-htop & nvtop)

 

 

설치

pipx와 같이 격리된 가상 환경에 nvitop을 설치하는 것을 추천합니다.

pipx run nvitop

Install from PyPI

pip3 install --upgrade nvitop

Install from conda-forge

conda install -c conda-forge nvitop

 

 

사용 예시

 

nvitop -1

 

Full nvitop

 

Compact nvitop

 

Tree-view 화면 (단축키: t)

 

환경 변수 화면 (단축키: e)

 

스펙트럼처럼 보이는 바 차트

저작자표시 (새창열림)

'AI > MLOps' 카테고리의 다른 글

MLflow Models  (1) 2024.12.05
LitServe 리뷰  (1) 2024.08.31
Triton Inference Server #5. Python Backend  (0) 2024.05.12
Triton Inference Server #4. Model Configuration  (0) 2024.05.12
Triton Inference Server #3. Model Management & Repository  (1) 2024.05.12
'AI/MLOps' 카테고리의 다른 글
  • MLflow Models
  • LitServe 리뷰
  • Triton Inference Server #5. Python Backend
  • Triton Inference Server #4. Model Configuration
pfldy2850
pfldy2850
인공지능의 서비스화와 현실화에 관심이 많은 엔지니어입니다.
  • pfldy2850
    DEV.DY
    Github LinkedIn
  • 전체
    오늘
    어제
    • All (109)
      • AI (71)
        • 어플리케이션 개발 (12)
        • 모델 인퍼런스 (9)
        • 검색 시스템 (11)
        • MLOps (8)
        • 기술,논문 리뷰 (7)
        • Lecture notes (10)
        • 오픈소스 릴리즈 노트 (14)
      • Infra (5)
        • Kubernetes (2)
        • Service Mesh (1)
        • Service Proxy (1)
        • Storage (1)
      • Data Engineering (4)
        • Spark (3)
        • Kafka (1)
        • Delta Lake (0)
      • 컴퓨터 공학 (2)
        • 소프트웨어 공학 (2)
      • 개발 (16)
        • ReactJS (8)
        • NodeJS (2)
        • Python (4)
        • Pytorch (1)
        • git (1)
      • 영어공부 (2)
        • GPT로 영어 회화 공부 (2)
      • 활동 (2)
        • 2017 NDC (2)
      • 기타 (1)
      • 레거시 (6)
        • OS (6)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
pfldy2850
nvitop; 대화형 NVIDIA-GPU 프로세스 관리를 위한 원스톱 솔루션
상단으로

티스토리툴바