nvidia-smiコマンドの詳細ついて

Volatile GPU-Utilが0%なのにプロセスは立っててメモリは使われてる。ってことが起きた。
資料を見たけど、ただメモリだけ使ってるって状態なのだと解釈してる。

```
Thu Mar  2 13:49:14 2017       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.57                 Driver Version: 367.57                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX TIT...  Off  | 0000:02:00.0     Off |                  N/A |
| 22%   28C    P8    15W / 250W |    242MiB / 12206MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX TIT...  Off  | 0000:03:00.0     Off |                  N/A |
| 53%   83C    P2   227W / 250W |   8524MiB / 12206MiB |    100%      Default |
+-------------------------------+----------------------+----------------------+
|   2  GeForce GTX TIT...  Off  | 0000:83:00.0     Off |                  N/A |
| 22%   28C    P8    16W / 250W |    242MiB / 12206MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   3  GeForce GTX TIT...  Off  | 0000:84:00.0     Off |                  N/A |
| 37%   79C    P2   238W / 250W |   5633MiB / 12206MiB |     99%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0     16163    C   /home/ubuntu/torch/install/bin/luajit          240MiB |
|    1     16163    C   /home/ubuntu/torch/install/bin/luajit         8522MiB |
|    2     16163    C   /home/ubuntu/torch/install/bin/luajit          240MiB |
|    3     16163    C   /home/ubuntu/torch/install/bin/luajit          240MiB |
|    3     21068    C   ./darknet                                     5388MiB |
+-----------------------------------------------------------------------------+
```

nvidia-smiコマンドのみを使ってたので、詳細を知ると何か分かるのかと思ってメモした。


- cpuとgpuの紐付けを見る場合

```
ps f -o user,pgrp,pid,pcpu,pmem,start,time,command -p `lsof -n -w -t /dev/nvidia*`
```

参照
http://qiita.com/miyamotok0105/items/033b850a205f958808e9


<hr>
ほとんどのユーザーは、CPUの状態を確認する方法、空きメモリ量を確認する方法、空きディスク容量を調べる方法を理解しています。対照的に、GPUの健全性と状態を把握することは、歴史的に困難でした。見た目がわからない場合は、システム内のGPUのタイプと機能を判断することが難しい場合もあります。ありがたいことに、NVIDIAの最新のハードウェアおよびソフトウェアツールは、この点で優れた改善をしました。

このツールは、NVIDIAのシステム管理インターフェイス（nvidia-smi）です。カードの世代によって、さまざまなレベルの情報を収集することができます。さらに、GPU設定オプション（ECCメモリ機能など）を有効または無効にすることができます。

さて、NVIDIA GPUでGPGPUコードを実行するのに問題がある場合は、nvidia-smiを使用すると便利です。たとえば、一部のシステムでは、/ devにある適切なNVIDIAデバイスはブート時に作成されません。ルートとして単純なnvidia-smiクエリを実行すると、すべてのカードが初期化され、/ devに適切なデバイスが作成されます。それ以外のときは、GPUカードがすべて表示され、適切に通信されていることを確認するだけです。 Tesla K80 GPUカードを1つ搭載した最新バージョンのデフォルト出力は次のとおりです。

```
Tue Apr  7 12:56:41 2015       
+------------------------------------------------------+                       
| NVIDIA-SMI 346.46     Driver Version: 346.46         |                       
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla K80           On   | 0000:05:00.0     Off |                  Off |
| N/A   32C    P8    26W / 149W |     56MiB / 12287MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla K80           On   | 0000:06:00.0     Off |                  Off |
| N/A   29C    P8    29W / 149W |     56MiB / 12287MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
```

#持続モード

Linuxでは、GPUを持続モードに設定して、アプリケーションがカードにアクセスしていなくてもNVIDIAドライバをロードし続けることができます。 これは、一連の短いジョブを実行しているときに特に便利です。 持続モードはより多くの電力を使用しますが、GPUアプリケーションが開始されるたびに発生するかなり長い遅延を防ぎます。 GPUに特定のクロック速度または電力制限を割り当てた場合（NVIDIAドライバのアンロード時に変更が失われるため）も必要です。 次のコマンドを実行して、すべてのGPUSで持続モードを有効にします。

GPU初期化が遅いという問題がある
https://github.com/dmlc/cxxnet/issues/108
Persistence Daemon
http://docs.nvidia.com/deploy/driver-persistence/index.html#persistence-daemon
にも載っているが、これを有効にしていると電力はかかるがgpuドライバのロード時間が短縮される。
pytorchやchainerの推定処理で２秒近く短縮された。

持続モードonにする

```
nvidia-smi -pm 1
```

持続モードoffにする

```
nvidia-smi -pm 0
```

Windowsでは、nvidia-smiは持続モードを設定できません。 代わりに、計算用GPUをTCCモードに設定する必要があります。 これは、NVIDIAのグラフィカルなGPUデバイス管理パネルで行う必要があります。

#nvidia-smiでサポートされているGPU

NVIDIAのSMIツールは、2011年以降にリリースされたNVIDIA GPUを本質的にサポートしています。これらには、フェルミや高級アーキテクチャのファミリ（Kepler、Maxwellなど）のTesla、Quadro、GRID、GeForceデバイスが含まれます。

サポートされている製品は次のとおりです。
テスラ：S1070、S2050、C1060、C2050 / 70、M2050 / 70/90、X2070 / 90、K10、K20、K20X、K40、K80
Quadro：4000,5000,6000,7000、M2070-Q、K-シリーズ、M-シリーズ
GeForce：TeslaおよびQuadro製品よりも利用可能な測定基準が少なく、さまざまなレベルのサポート

#GPUステータスのクエリ

顧客にベンチマークサービスとして提供するMicrowayのGPUテストドライブクラスタには、NVIDIAの最新Tesla GPUグループが含まれています。 これらは、NVIDIAの高性能コンピューティングGPUであり、多くの健康状態情報を提供します。 以下の例は、この内部クラスタから取得したものです。

使用可能なすべてのNVIDIAデバイスを一覧表示するには、次のコマンドを実行します。

```
[root@md ~]# nvidia-smi -L
GPU 0: Tesla K40m (UUID: GPU-d0e093a0-c3b3-f458-5a55-6eb69fxxxxxx)
GPU 1: Tesla K40m (UUID: GPU-d105b085-7239-3871-43ef-975ecaxxxxxx)
```

各GPUの詳細を記載するには、

```
[root@md ~]# nvidia-smi --query-gpu=index,name,uuid,serial --format=csv
0, Tesla K40m, GPU-d0e093a0-c3b3-f458-5a55-6eb69fxxxxxx, 0323913xxxxxx
1, Tesla K40m, GPU-d105b085-7239-3871-43ef-975ecaxxxxxx, 0324214xxxxxx
```

#GPUブーストの監視と管理

NVIDIAが最新のGPUに含まれているGPUブースト機能により、負荷に応じてGPUクロックが変化します（電力とサーマルヘッドルームが利用可能な限り最大性能を達成します）。 しかし、利用可能なヘッドルームの量は、アプリケーションによって（そして入力ファイルによってさえも）変わりますので、ユーザーと管理者はGPUの状態を常に把握しておく必要があります。

使用可能なクロック速度の一覧は、各GPU（この場合は、Tesla K80）で表示できます。

```
nvidia-smi -q -d SUPPORTED_CLOCKS

GPU 0000:04:00.0
    Supported Clocks
        Memory                      : 2505 MHz
            Graphics                : 875 MHz
            Graphics                : 862 MHz
            Graphics                : 849 MHz
            Graphics                : 836 MHz
            Graphics                : 823 MHz
            Graphics                : 810 MHz
            Graphics                : 797 MHz
            Graphics                : 784 MHz
            Graphics                : 771 MHz
            Graphics                : 758 MHz
            Graphics                : 745 MHz
            Graphics                : 732 MHz
            Graphics                : 719 MHz
            Graphics                : 705 MHz
            Graphics                : 692 MHz
            Graphics                : 679 MHz
            Graphics                : 666 MHz
            Graphics                : 653 MHz
            Graphics                : 640 MHz
            Graphics                : 627 MHz
            Graphics                : 614 MHz
            Graphics                : 601 MHz
            Graphics                : 588 MHz
            Graphics                : 575 MHz
            Graphics                : 562 MHz
        Memory                      : 324 MHz
            Graphics                : 324 MHz
```

上記の出力は、メモリクロック速度が2つしかサポートされていないことを示します（2505 MHzおよび324 MHz）。 2505MHzで動作するメモリでは、サポートされているGPUクロック速度は25種類あります。 324 MHzで動作するメモリでは、1つのGPUクロック速度（アイドル状態のGPU状態）のみがサポートされています。 Tesla K80では、GPU Boostが自動的にこれらの速度を管理し、可能な限り速く実行します。 Tesla K40のような他のモデルでは、管理者は特定のGPUクロック速度を選択する必要があります。

現在のGPUクロック速度、デフォルトクロック速度、および可能な最大クロック速度を確認するには、次のコマンドを実行します。

```
nvidia-smi -q -d CLOCK

GPU 0000:04:00.0
    Clocks
        Graphics                    : 875 MHz
        SM                          : 875 MHz
        Memory                      : 2505 MHz
    Applications Clocks
        Graphics                    : 875 MHz
        Memory                      : 2505 MHz
    Default Applications Clocks
        Graphics                    : 562 MHz
        Memory                      : 2505 MHz
    Max Clocks
        Graphics                    : 875 MHz
        SM                          : 875 MHz
        Memory                      : 2505 MHz
    SM Clock Samples
        Duration                    : 3730.56 sec
        Number of Samples           : 8
        Max                         : 875 MHz
        Min                         : 324 MHz
        Avg                         : 873 MHz
    Memory Clock Samples
        Duration                    : 3730.56 sec
        Number of Samples           : 8
        Max                         : 2505 MHz
        Min                         : 324 MHz
        Avg                         : 2500 MHz
    Clock Policy
        Auto Boost                  : On
        Auto Boost Default          : On
```

理想的には、すべてのクロックを常に最高速度で実行したいと考えています。 ただし、これはすべてのアプリケーションで可能ではありません。 各GPUの現在の状態とクロックの減速の理由を確認するには、PERFORMANCEフラグを使用します。

```
nvidia-smi -q -d PERFORMANCE

GPU 0000:04:00.0
    Performance State               : P0
    Clocks Throttle Reasons
        Idle                        : Not Active
        Applications Clocks Setting : Not Active
        SW Power Cap                : Not Active
        HW Slowdown                 : Not Active
        Unknown                     : Not Active
```


GPUクロックのいずれかが遅い速度で実行されている場合、上記のクロックスロットル理由の1つ以上がアクティブとしてマークされます。 HW SlowdownまたはUnknownがアクティブである場合は、電源または冷却の問題を示す可能性が最も高いため、条件に関する最も重要なものがあります。 残りの状態は、通常、カードがアイドル状態であるか、またはシステム管理者によって手動で低速モードに設定されていることを示します。

#システムトポロジの確認

より高度なNVIDIA GPU機能（GPU Directなど）を適切に利用するには、システムトポロジが適切に構成されていることが重要です。 このトポロジは、PCI-Expressデバイス（GPU、InfiniBand HCA、ストレージコントローラなど）が相互にまたはシステムのCPUにどのように接続されるかを示します。 正しくない場合は、特定の機能の速度が低下したり、動作が完全に停止する可能性もあります。 このような問題に取り組むために、最近のバージョンのnvidia-smiには、実験的なシステムトポロジビューが含まれています。

```
nvidia-smi topo --matrix

        GPU0    GPU1    GPU2    GPU3    mlx4_0  CPU Affinity
GPU0     X      PIX     PHB     PHB     PHB     0-11
GPU1    PIX      X      PHB     PHB     PHB     0-11
GPU2    PHB     PHB      X      PIX     PHB     0-11
GPU3    PHB     PHB     PIX      X      PHB     0-11
mlx4_0  PHB     PHB     PHB     PHB      X 

Legend:

  X   = Self
  SOC = Path traverses a socket-level link (e.g. QPI)
  PHB = Path traverses a PCIe host bridge
  PXB = Path traverses multiple PCIe internal switches
  PIX = Path traverses a PCIe internal switch
```

このセクションを見直すと、慣れていくこともありますが、非常に価値があるかもしれません。 上記の構成では、2台のTesla K80 GPUと1台のMellanox FDR InfiniBand HCAがすべてサーバーの最初のCPUに接続されています。 CPUは12コアのXeonであるため、トポロジツールではジョブを最初の12個のCPUコアに割り当てることをお勧めします（アプリケーションによって異なります）。 このトピックに関するご質問は、HPC GPUの専門家にお問い合わせください。

#すべてのGPUの詳細を表示する

特定のGPUで使用可能なすべてのデータを一覧表示するには、-iを使用してカードのIDを指定します。 古いTesla GPUカードの出力は次のとおりです。

```
nvidia-smi -i 0 -q

==============NVSMI LOG==============

Timestamp                       : Mon Dec  5 22:05:49 2011

Driver Version                  : 270.41.19

Attached GPUs                   : 2

GPU 0:2:0
    Product Name                : Tesla M2090
    Display Mode                : Disabled
    Persistence Mode            : Disabled
    Driver Model
        Current                 : N/A
        Pending                 : N/A
    Serial Number               : 032251100xxxx
    GPU UUID                    : GPU-2b1486407f70xxxx-98bdxxxx-660cxxxx-1d6cxxxx-9fbd7e7cd9bf55a7cfb2xxxx
    Inforom Version
        OEM Object              : 1.1
        ECC Object              : 2.0
        Power Management Object : 4.0
    PCI
        Bus                     : 2
        Device                  : 0
        Domain                  : 0
        Device Id               : 109110DE
        Bus Id                  : 0:2:0
    Fan Speed                   : N/A
    Memory Usage
        Total                   : 5375 Mb
        Used                    : 9 Mb
        Free                    : 5365 Mb
    Compute Mode                : Default
    Utilization
        Gpu                     : 0 %
        Memory                  : 0 %
    Ecc Mode
        Current                 : Enabled
        Pending                 : Enabled
    ECC Errors
        Volatile
            Single Bit            
                Device Memory   : 0
                Register File   : 0
                L1 Cache        : 0
                L2 Cache        : 0
                Total           : 0
            Double Bit            
                Device Memory   : 0
                Register File   : 0
                L1 Cache        : 0
                L2 Cache        : 0
                Total           : 0
        Aggregate
            Single Bit            
                Device Memory   : 0
                Register File   : 0
                L1 Cache        : 0
                L2 Cache        : 0
                Total           : 0
            Double Bit            
                Device Memory   : 0
                Register File   : 0
                L1 Cache        : 0
                L2 Cache        : 0
                Total           : 0
    Temperature
        Gpu                     : N/A
    Power Readings
        Power State             : P12
        Power Management        : Supported
        Power Draw              : 31.57 W
        Power Limit             : 225 W
    Clocks
        Graphics                : 50 MHz
        SM                      : 100 MHz
        Memory                  : 135 MHz
```

上の例は、アイドルカードを示しています。以下は、GPUアクセラレーションされたAMBERを実行しているカードの抜粋です。


```
nvidia-smi -i 0 -q -d MEMORY,UTILIZATION,POWER,CLOCK,COMPUTE

==============NVSMI LOG==============

Timestamp                       : Mon Dec  5 22:32:00 2011

Driver Version                  : 270.41.19

Attached GPUs                   : 2

GPU 0:2:0
    Memory Usage
        Total                   : 5375 Mb
        Used                    : 1904 Mb
        Free                    : 3470 Mb
    Compute Mode                : Default
    Utilization
        Gpu                     : 67 %
        Memory                  : 42 %
    Power Readings
        Power State             : P0
        Power Management        : Supported
        Power Draw              : 109.83 W
        Power Limit             : 225 W
    Clocks
        Graphics                : 650 MHz
        SM                      : 1301 MHz
        Memory                  : 1848 MHz
```

残念ながら、以前のMシリーズの受動的に冷却されたTesla GPUでは、nvidia-smiに温度が報告されていません。最近のQuadroおよびTesla GPUは、より多くの量のメトリックデータをサポートします。

```
==============NVSMI LOG==============

Timestamp                           : Tue Apr  7 13:01:34 2015
Driver Version                      : 346.46

Attached GPUs                       : 2
GPU 0000:05:00.0
    Product Name                    : Tesla K80
    Product Brand                   : Tesla
    Display Mode                    : Disabled
    Display Active                  : Disabled
    Persistence Mode                : Enabled
    Accounting Mode                 : Enabled
    Accounting Mode Buffer Size     : 128
    Driver Model
        Current                     : N/A
        Pending                     : N/A
    Serial Number                   : 0324614xxxxxx
    GPU UUID                        : GPU-81dexxxx-87xx-4axx-79xx-3ddf4dxxxxxx
    Minor Number                    : 0
    VBIOS Version                   : 80.21.1B.00.01
    MultiGPU Board                  : Yes
    Board ID                        : 0x300
    Inforom Version
        Image Version               : 2080.0200.00.04
        OEM Object                  : 1.1
        ECC Object                  : 3.0
        Power Management Object     : N/A
    GPU Operation Mode
        Current                     : N/A
        Pending                     : N/A
    PCI
        Bus                         : 0x05
        Device                      : 0x00
        Domain                      : 0x0000
        Device Id                   : 0x102D10DE
        Bus Id                      : 0000:05:00.0
        Sub System Id               : 0x106C10DE
        GPU Link Info
            PCIe Generation
                Max                 : 3
                Current             : 1
            Link Width
                Max                 : 16x
                Current             : 16x
        Bridge Chip
            Type                    : PLX
            Firmware                : 0xF0472900
        Replays since reset         : 0
        Tx Throughput               : N/A
        Rx Throughput               : N/A
    Fan Speed                       : N/A
    Performance State               : P8
    Clocks Throttle Reasons
        Idle                        : Active
        Applications Clocks Setting : Not Active
        SW Power Cap                : Not Active
        HW Slowdown                 : Not Active
        Unknown                     : Not Active
    FB Memory Usage
        Total                       : 12287 MiB
        Used                        : 56 MiB
        Free                        : 12231 MiB
    BAR1 Memory Usage
        Total                       : 16384 MiB
        Used                        : 2 MiB
        Free                        : 16382 MiB
    Compute Mode                    : Default
    Utilization
        Gpu                         : 0 %
        Memory                      : 0 %
        Encoder                     : 0 %
        Decoder                     : 0 %
    Ecc Mode
        Current                     : Disabled
        Pending                     : Disabled
    ECC Errors
        Volatile
            Single Bit            
                Device Memory       : N/A
                Register File       : N/A
                L1 Cache            : N/A
                L2 Cache            : N/A
                Texture Memory      : N/A
                Total               : N/A
            Double Bit            
                Device Memory       : N/A
                Register File       : N/A
                L1 Cache            : N/A
                L2 Cache            : N/A
                Texture Memory      : N/A
                Total               : N/A
        Aggregate
            Single Bit            
                Device Memory       : N/A
                Register File       : N/A
                L1 Cache            : N/A
                L2 Cache            : N/A
                Texture Memory      : N/A
                Total               : N/A
            Double Bit            
                Device Memory       : N/A
                Register File       : N/A
                L1 Cache            : N/A
                L2 Cache            : N/A
                Texture Memory      : N/A
                Total               : N/A
    Retired Pages
        Single Bit ECC              : 0
        Double Bit ECC              : 0
        Pending                     : No
    Temperature
        GPU Current Temp            : 34 C
        GPU Shutdown Temp           : 93 C
        GPU Slowdown Temp           : 88 C
    Power Readings
        Power Management            : Supported
        Power Draw                  : 25.65 W
        Power Limit                 : 149.00 W
        Default Power Limit         : 149.00 W
        Enforced Power Limit        : 149.00 W
        Min Power Limit             : 100.00 W
        Max Power Limit             : 175.00 W
    Clocks
        Graphics                    : 324 MHz
        SM                          : 324 MHz
        Memory                      : 324 MHz
    Applications Clocks
        Graphics                    : 875 MHz
        Memory                      : 2505 MHz
    Default Applications Clocks
        Graphics                    : 562 MHz
        Memory                      : 2505 MHz
    Max Clocks
        Graphics                    : 875 MHz
        SM                          : 875 MHz
        Memory                      : 2505 MHz
    Clock Policy
        Auto Boost                  : On
        Auto Boost Default          : On
    Processes                       : None
```

もちろん、私たちは、nvidia-smiツールのすべての可能な用途については扱っていません。 オプションの完全なリストを読むには、nvidia-smi -hを実行します（かなり長いです）。 カードの設定を変更する必要がある場合は、デバイスの変更セクションを参照してください。

```
 -pm,  --persistence-mode=   Set persistence mode: 0/DISABLED, 1/ENABLED
    -e,   --ecc-config=         Toggle ECC support: 0/DISABLED, 1/ENABLED
    -p,   --reset-ecc-errors=   Reset ECC error counts: 0/VOLATILE, 1/AGGREGATE
    -c,   --compute-mode=       Set MODE for compute applications:
                                0/DEFAULT, 1/EXCLUSIVE_THREAD,
                                2/PROHIBITED, 3/EXCLUSIVE_PROCESS
          --gom=                Set GPU Operation Mode:
                                    0/ALL_ON, 1/COMPUTE, 2/LOW_DP
    -r    --gpu-reset           Trigger reset of the GPU.
                                Can be used to reset the GPU HW state in situations
                                that would otherwise require a machine reboot.
                                Typically useful if a double bit ECC error has
                                occurred.
                                Reset operations are not guarenteed to work in
                                all cases and should be used with caution.
                                --id= switch is mandatory for this switch
    -ac   --applications-clocks= Specifies  clocks as a
                                    pair (e.g. 2000,800) that defines GPU's
                                    speed in MHz while running applications on a GPU.
    -rac  --reset-applications-clocks
                                Resets the applications clocks to the default values.
    -acp  --applications-clocks-permission=
                                Toggles permission requirements for -ac and -rac commands:
                                0/UNRESTRICTED, 1/RESTRICTED
    -pl   --power-limit=        Specifies maximum power management limit in watts.
    -am   --accounting-mode=    Enable or disable Accounting Mode: 0/DISABLED, 1/ENABLED
    -caa  --clear-accounted-apps
                                Clears all the accounted PIDs in the buffer.
          --auto-boost-default= Set the default auto boost policy to 0/DISABLED
                                or 1/ENABLED, enforcing the change only after the
                                last boost client has exited.
          --auto-boost-permission=
                                Allow non-admin/root control over auto boost mode:
                                0/UNRESTRICTED, 1/RESTRICTED
```

このツールを使用すると、NVIDIA GPUのステータスと状態を確認するのが簡単です。 時間の経過とともにカードを監視する場合は、nvidia-smiが必要以上にリソースを消費する可能性があります。 そのためには、C、Perl、Pythonバインディングを提供するNVIDIAのGPU管理ライブラリ（NVML）をご覧ください。 一般的に使用されるGangliaなどのクラスタツールでは、これらのバインディングを使用してGPUステータスをクエリします。


ログを出力

```
nvidia-smi -l 5 --query-gpu=utilization.gpu,utilization.memory,memory.total,memory.free,memory.used --format=csv -f ./temp.csv
```

#リアルタイムで監視

```
watch -n1 "nvidia-smi"
```

#windowsの場合
下記にnvidia-smi.exeがあるので、パスを追加しておく。

```
C:\Program Files\NVIDIA Corporation\NVSMI
```

win10の環境変数の追加方法
http://www.wannko.net/windows10/etc/kankyo.html


#参考
https://www.microway.com/hpc-tech-tips/nvidia-smi_control-your-gpus/
https://qiita.com/samacoba/items/368d67f2d7d4e11abdf7