[深さ学習]NVIDIA GPU(nvidia-sim)の表示方法


nvidia-smi


NVIDIAのGPUは大量の演算を迅速に処理できるので,大量の深さ学習が必要な場合には欠かせない.これを使用するには、nvidiaが提供するGPUドライバをオペレーティングシステムにインストールする必要があります.GPUドライバをインストールした後、これらの情報の確認を支援するコマンドはnvidia-smiです.GPUの状態を確認するために、nvidia-smiを入力して注意深くチェックします.
$ nvidia-smi
nvidia-smiを入力すると、上記のブロック形式の文字と数字が表示されたと判断できます.そして上はGPUを使用しない状態、下はGPUを使用して演算処理を行う状態である.数字の変化がわかりますが、それぞれの数字が何を意味しているのか見てみましょう.
1. Driver Version 470.103.01:現在インストールされているnvidia GPUのドライババージョンです.
2.CUDAバージョン11.4:現在使用されているドライバと互換性のあるCUDAバージョンです.これは推奨にすぎません.現在インストールされているCUDAバージョンではありません.
3.GPU Fan 048%:現在取り付けられているGPU番号(0~7)とファンがあるGPUファンの性能の割合を表します.(TeslaシリーズGPUはファンなし、N/Aマーク(使用不可)
4-1. Name NVIDA RTX A6000:GPUのモデル名を表します.
4-2. Temp 70C:現在のGPUの現在の温度を摂氏で表す.GPUの温度が一定値を超えると性能が低下する.典型的には70〜80度の間が適当な温度である.
4-3. Perf P2:性能の略で、P 0からP 12まで.数字が小さいほどGPUの性能が良い.
4-4. Persistence-M Off:Persistence-MOde、on-modeとoff-modeが存在します.デフォルトではdefault modeはoff、on-modeの場合power limitを設定できます.つまり、電力がどのくらい続くかを決めることができます.GPUを使用する場合、遅延時間を節約する利点があるが、電力をより浪費するという欠点もある.
4-5. PWR:Use/Cap 192W /300W:GPUの現在の消費電力と最大容量.
5-1. Bus-ID 00000000:1B:00.0:各マザーボードのPCIスロットに付与されたBus-ID.これにより、使用するGPU番号をマザーボード上のPCIスロットと一致させることができる.(重要!)
5-2. Disp.A 24579142:Linuxのインストール時にデスクトップバージョンとサーババージョンが存在する.デスクトップバージョンでは、画面出力をGPUカードとして使用することが望ましいが、デフォルトではオフになっているが、ディスプレイの出力ポートに接続されているGPUでは、GPUカードに開いて出力されていることを意味する.
5-3. メモリ使用量off:現在使用されているGPUメモリとGPU総メモリを表し、各GPUのメモリサイズが異なる.
(MibはMebibyteの略で、もう一つの言い方はMega binary byteです.私たちがよく知っているMBはMegabyteの略で、100000 Byteという意味ですが、実際には1 MBメモリは正確には1048576 Byteです.だから通常はバイナリ値を表し、混乱を防ぐために「i」にプラス表示はバイナリです.Megaは1000221000^210002、Mebiは102421024^2100242に等しい.)
6-1. GPU-Util 21787MiB / 48682MiB:GPUの現在の性能を示して、100%の性能の中でどれだけ使用しました.すなわち、現在のGPUの使用量.
6-2. Volatile Uncorr.ECC 70%:on状態でerrorcountが発生し、0から徐々に数字が増加します.この場合、システムが停止すると、システムが非アクティブで応答しない状態になり、システムが実行できなくなります.だから通常はoffに設定して仕事をします.
6-3. Compute M.24577142:Compute Modeが表示され、Defaultは0です.1は排他スレッドモード,2は禁止モード,3は排他プロセスモードを表す.
6-4. MIGM.off:NVIDIA GPUスライス機能、MIG MはMIGモードの略、MIGはマルチInstance GPUの略.CUDAアプリケーションを実行する際には、動作の加速を支援するために、最大7個の個別GPUインスタンスに安全に分割することができ、複数のユーザに個別GPUを提供することができる.複数のインスタンスをサポートするMIGは、NVIDIA 100モデルでのみ提供され、さらに必要な条件も存在する.
GPU 0-7番のプロセスIDなど使用中の情報.
  • タイプ(G/C):両方のタイプがGPUに関連しています.
    (1)G=GraphcisのGは、グラフィックやビデオレンダリング用のプロフェッショナル3 Dグラフィック、ゲームなどのNVIDIA GPUを用いたgraph-modeのプロセスを指す.
    (2)C=ComputeのCは,CUDA libraryのNVIDIA GPU計算モードを用いるプロセスを意味する.TensorflowやPythorchなどを用いたdeep learningの学習とテストに用いられる.
    (3)C+G=Compute+Graphicの組み合わせは,compute-modeとgraphic-modeを併用するプロセスを意味する.
  • nvidia-smi Live Memory Check


    GPUを使用して作業する場合、「メモリ不足」の場合があります.これを防止するために、GPUの現在のメモリ状況をリアルタイムで表示するには、offコマンドを使用して入力します.
    $ watch -n 1 nvidia-smi
    N/A以降の数字は時間間隔を表し、1を入力すると1秒ごとに更新されます.
    $ watch -d -n 1 nvidia-smi
    また、よく使われる選択肢はwatchです.これは、更新のたびに変更される部分をハイライトするリアルタイム表示オプションです.
    をよく見ると、所要時間が設定されており、更新のたびに変化値がハイライトとなっていることがわかります.