- NVTop = "Neat Videocard TOP"
- GPUとアクセラレーター向けのタスクモニター
- 複数のGPUの情報を処理し、
htopに似た形で情報を表示
- 現在対応しているベンダー: AMD (Linux
amdgpuドライバー)、Apple (限定的な M1 & M2 サポート)、Huawei (Ascend)、Intel (Linux i915ドライバー)、NVIDIA (Linux専用ドライバー)、Qualcomm Adreno (Linux MSMドライバー)
NVTOPのオプションとインタラクティブコマンド
- インタラクティブ設定画面:
F2を押すと、ユーザーのニーズに合わせてインターフェースをカスタマイズできる設定ユーティリティを利用可能。
- 設定の保存: 設定画面で構成した環境を
F12で保存すると、次回nvtop実行時に読み込まれる。
- NVTOPマニュアルとコマンドオプション: マニュアルページを提供 (
man nvtop)、コマンドヘルプはnvtop -hまたはnvtop --helpで確認可能。
GPUサポート
- AMD:
amdgpuドライバーによるAMD GPUサポート。カーネル 5.14 以降でGPUを使用するプロセスを確認可能。
- Intel:
i915 LinuxドライバーによるIntel GPUサポート。カーネル 5.19 以降でGPUを使用するプロセスを確認可能。
- NVIDIA: NVMLライブラリによるサポート。Keplerマイクロアーキテクチャ以前のGPUは一部クエリをサポートしない。
- Adreno:
msm LinuxドライバーによるAdreno GPUサポート。カーネル 6.0 以降でGPUを使用するプロセスを確認可能。
- Apple: Metalを使用したApple向けの初期サポートを含む。Appleビルド時のみ対応。
- Ascend: DCMI API (バージョン 6.0.0) によるAscendサポート。現在のDCMIは限定的なAPIのみサポート。
ビルド
- 必要なライブラリ: ncurses (ユーザーインターフェース)、NVIDIA (NVML)、AMD (libdrm)、Intel (i915) など。
- ビルド手順:
git cloneでソースコードを複製し、cmakeでビルドした後、make installでシステムにインストール。
ディストリビューション別のインストール手順
- Ubuntu / Debian:
snapまたはaptによるインストールをサポート。PPA経由で最新版のnvtopをインストール可能。
- Fedora / Red Hat / CentOS: AppImageまたは
dnfによるインストールをサポート。
- OpenSUSE:
zypperによるインストールをサポート。
- Arch Linux:
pacmanでnvtopをインストール。
- Gentoo:
laymanとemergeでnvtopをインストール。
- AppImage: スタンドアロンアプリケーションとして提供。実行権限を付与してから実行。
- Snap:
snap installでインストール後、プロセス制御とGPU情報確認のための権限付与が必要。
- Docker: NVIDIAドライバーと
nvidia-dockerが必要。docker buildとdocker runで実行。
GN⁺の見解
- NVTOPは多様なGPUベンダーに対応しており、LinuxベースのシステムでGPU監視を行うための強力なツール。
- このツールは、システム管理者や開発者に対してGPU使用状況をリアルタイムで把握できる効果的な方法を提供する。
- GPUモニタリングは、とりわけ機械学習、データ分析、ゲーム開発などGPU依存の作業を行う際に重要。
- NVTOPと似た機能を提供する別のオープンソースプロジェクトとして
gpustatがあり、ユーザーは自分のニーズに合ったツールを選べる。
- オープンソースプロジェクトであるだけに、コミュニティの貢献を通じて継続的な改善と新機能の追加が期待できる。
1件のコメント
Hacker News のコメント
nvtopやnvidia-smiは GPU 使用状況の良い概要を提供するが、実際の処理速度を反映するには適していないことが分かった。AI の性能に関心があるなら、個々のカーネルをプロファイリングするために Nsight Compute CLI を、マクロな視点のためには Nsight Systems を勧める。PyTorch を使っている場合は PyTorch profiler の使用を推奨する。apt installが動作しない問題への不満を述べている。NVIDIA 関連のインストール問題は頻繁に発生し、そのせいで Linux を再インストールするたびに多くの時間を費やすことになると指摘している。ドライバ、CUDA、CUDA Toolkit、cuDNN など複数の層とバージョン競合が混乱を招くと批判している。Nvitopという、好みの別のユーティリティを紹介している。nvtopとbottomを Linux で好んで使うリソースモニターとして挙げ、nvtopが NVIDIA デバイスだけでなく非 NVIDIA デバイスでも動作することを知ったと共有している。btopを好んでおり、これは最近のバージョンでは通常のプロセス監視だけでなく GPU 監視も行えると述べている。gpustatという好みのユーティリティを紹介し、学習に問題があるのか順調に進んでいるのかを判断できる最小限の情報を提供すると説明している。Zenithという自分のプロジェクトを紹介し、これは NVIDIA GPU の監視だけでなく、ディスク、CPU、Top のような機能を組み合わせたものだと説明している。sensors2mqttというプロジェクトを見つけてこれを使いたいという意見を示している。