all-smi 소개
최근 AI·머신러닝 워크로드와 고성능 컴퓨팅(HPC) 환경이 확산되면서 GPU와 NPU의 실시간 상태 추적은 필수적인 운영 요소가 되고 있습니다. all-smi
는 이러한 요구에 대응하기 위해 플랫폼 간 호환성과 확장성을 극대화하였고, 설치와 사용이 간단하며 다양한 배포 방법(Homebrew, PPA, .deb, Cargo, 바이너리 다운로드 등)을 지원하는 명령줄 기반(CLI)의 도구입니다.
all-smi
는 다양한 하드웨어 플랫폼에서 GPU와 NPU 자원을 실시간으로 모니터링할 수 있는 명령줄 기반 유틸리티입니다. 또한, 터미널 기반 UI를 통해 가속기 사용량, 메모리, 온도, 전력 소비량 등을 직관적으로 시각화하며, 색상 코드와 인터랙티브 정렬 기능을 제공해 대규모 모니터링 환경에서도 효율적으로 활용할 수 있습니다.
전통적으로 NVIDIA GPU 모니터링에 사용되는 nvidia-smi
를 대체할 수 있도록 설계되었으며, NVIDIA GPU뿐 아니라 NVIDIA Jetson, Apple Silicon GPU, Tenstorrent NPU, Rebellions NPU, Furiosa NPU 등 여러 가속기 하드웨어를 지원합니다. 특히 단일 PC뿐 아니라 클러스터 환경에서도 여러 노드를 동시에 모니터링할 수 있으며, 로컬·원격 모드와 Prometheus API 통합 기능을 제공합니다. Prometheus와 연동을 하게되면 Grafana 같은 시각화 대시보드로 확장 가능하며, 내장 모의(Mock) 서버로 개발·테스트 환경 구축도 손쉽게 할 수 있어 개발자와 운영자 모두에게 유용합니다.
nvidia-smi와의 비교
기능 | nvidia-smi | all-smi |
---|---|---|
지원 하드웨어 | NVIDIA GPU 전용 | NVIDIA, Apple Silicon, Jetson, Tenstorrent, Rebellions, Furiosa |
운영체제 지원 | Linux, Windows (일부 macOS 제한) | Linux, macOS |
GPU 외 자원 모니터링 | 제한적 (GPU 중심) | GPU, NPU, CPU, 메모리, 디스크 |
클러스터 원격 모니터링 | 불가능 | 가능 (256+ 노드 지원) |
Prometheus API 연동 | 불가능 | 가능 |
UI 인터랙션 | 기본 텍스트 출력 (정렬/컬러 없음) | 컬러 코드, 컬럼별 정렬, 마우스 클릭 지원 |
설치 방식 다양성 | 드라이버 설치 시 포함 | Homebrew, PPA, Debian 패키지, Cargo, 바이너리 다운로드, 소스 빌드 |
기존의 nvidia-smi
는 NVIDIA GPU에 특화되어 있으며, 다른 하드웨어 플랫폼에서는 사용할 수 없는 한계가 있습니다. 반면, all-smi
는 다양한 하드웨어 가속기(GPU·NPU)를 단일 인터페이스에서 관리할 수 있고, NVIDIA 외의 플랫폼에서도 동일한 명령과 UI를 제공합니다.
또한, all-smi
는 CPU·메모리·디스크 모니터링까지 통합 제공하며, 클러스터 단위의 원격 모니터링과 Prometheus API 연동 기능을 내장해 확장성이 뛰어납니다. UI 측면에서도 색상 코드, 탭 전환, 컬럼별 정렬, 마우스 클릭 정렬 등 상호작용성이 강화되어 있습니다.
즉, nvidia-smi
가 NVIDIA 전용 도구라면, all-smi
는 "플랫폼 불문 통합 하드웨어 모니터링 도구"라고 요약할 수 있습니다.
all-smi의 주요 기능
-
GPU 및 NPU 모니터링:
all-smi
는 GPU 이름·드라이버 버전·사용량·메모리 상태·온도·클럭 속도·전력 소비 등 세부 지표를 실시간으로 표시합니다. NVIDIA, Apple Silicon, Jetson, Tenstorrent, Rebellions, Furiosa 등 각 플랫폼별 특화 지표도 지원하며, 다중 GPU 환경에서도 개별 장치별 모니터링이 가능합니다. -
CPU 및 메모리 모니터링: CPU는 소켓별 사용량, 클럭 속도, 온도, 전력 소비량을 표시하며, Apple Silicon의 경우 P코어·E코어별 사용량과 주파수까지 세분화 지원합니다. 메모리는 총량·사용량·가용량·스왑 영역까지 시각화하며, Linux에서는 버퍼·캐시 메모리 정보까지 제공합니다.
-
프로세스·클러스터 관리: GPU 메모리를 사용하는 프로세스 목록, PID, CPU 사용률, 실행 사용자 등을 보여주며 컬럼별 색상 표시와 정렬 기능을 지원합니다. 클러스터 관리 모드에서는 전체 노드와 GPU 상태를 집계해 평균 사용량, 온도, 전력 통계를 실시간으로 제공합니다.
-
원격 모니터링 및 API 연동: 256개 이상의 원격 노드를 동시에 모니터링할 수 있으며, Prometheus API 형식으로 메트릭을 노출해 Grafana 등 외부 모니터링 시스템과 연동할 수 있습니다.
all-smi 설치 방법
-
Homebrew (macOS/Linux)
brew tap lablup/tap brew install all-smi
-
Ubuntu PPA
sudo add-apt-repository ppa:lablup/backend-ai sudo apt update sudo apt install all-smi
-
Debian 패키지: Releases 페이지에서
.deb
다운로드 후 설치 -
Cargo 설치:
cargo install all-smi
-
바이너리 다운로드: GitHub Releases에서 직접 내려받아
$PATH
에 추가 -
소스 빌드: 개발자 문서 참고
사용 예시
# 로컬 모니터링 (기본)
all-smi
sudo all-smi local --interval 5
# 원격 노드 모니터링
all-smi view --hosts http://node1:9090 http://node2:9090
all-smi view --hostfile hosts.csv
# Prometheus API 서버 실행
all-smi api --port 9090 --processes
라이선스
all-smi
프로젝트는 Apache License 2.0으로 공개 및 배포되고 있습니다. 상업적 이용에 제한이 없습니다.
all-smi GitHub 저장소
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~