

# Amazon EC2 インスタンスの GPU 設定を最適化する
<a name="optimize_gpu"></a>

NVIDIA GPU インスタンスで最大のパフォーマンスを実現するためには、いくつかの最適化方法の中から GPU 設定を選択できます。これらのインスタンスタイプの一部では、NVIDIA ドライバーは自動ブースト機能を使用しますが、これは GPU クロック速度に左右されます。自動ブーストを無効にし、GPU クロック速度を最大周波数に設定することで、安定して GPU インスタンスで最大パフォーマンスを実現できます。

## Linux での GPU 設定の最適化
<a name="optimize-gpu-linux"></a>

1. GPU 設定を永続的になるように設定します。このコマンドの実行には数分かかることがあります。

   ```
   [ec2-user ~]$ sudo nvidia-persistenced
   ```

1. [G3 および P2 インスタンスのみ] インスタンス上のすべての GPU の自動ブースト機能を無効にします。

   ```
   [ec2-user ~]$ sudo nvidia-smi --auto-boost-default=0
   ```

1. すべての GPU クロックを最大周波数に設定します。次のコマンドで指定されるメモリとグラフィッククロック速度を使用します。

   一部のバージョンの NVIDIA ドライバーでは、アプリケーションのクロック速度の設定をサポートしていないため、`"Setting applications clocks is not supported for GPU..."` エラーが表示されますが、無視できます。
   + G3 インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 2505,1177
     ```
   + G4dn インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 5001,1590
     ```
   + G5 インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 6250,1710
     ```
   + G6、G6f、Gr6、およびGr6f インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 6251,2040
     ```
   + G6e インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 9001,2520
     ```
   + G7e インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 12481,2430
     ```
   + P2 インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 2505,875
     ```
   + P3 および P3dn インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 877,1530
     ```
   + P4d インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 1215,1410
     ```
   + P4de インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 1593,1410
     ```
   + P5 インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 2619,1980
     ```
   + P5e および P5en インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 3201,1980
     ```
   + P6-B200 インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 3996,1965
     ```
   + P6-B300 インスタンス:

     ```
     [ec2-user ~]$ sudo nvidia-smi -ac 3996,2032
     ```

## Windows での GPU 設定の最適化
<a name="optimize-gpu-windows"></a>

1. PowerShell ウィンドウを開き、NVIDIA のインストールフォルダに移動します。

   ```
   PS C:\> cd "C:\Windows\System32\DriverStore\FileRepository\nvgridsw_aws.inf_*\"
   ```

1. [G3 および P2 インスタンスのみ] インスタンス上のすべての GPU の自動ブースト機能を無効にします。

   ```
   PS C:\> .\nvidia-smi --auto-boost-default=0
   ```

1. すべての GPU クロックを最大周波数に設定します。次のコマンドで指定されるメモリとグラフィッククロック速度を使用します。

   一部のバージョンの NVIDIA ドライバーでは、アプリケーションのクロック速度の設定をサポートしていないため、`"Setting applications clocks is not supported for GPU..."` エラーが表示されますが、無視できます。
   + G3 インスタンス:

     ```
     PS C:\> .\nvidia-smi -ac "2505,1177"
     ```
   + G4dn インスタンス:

     ```
     PS C:\> .\nvidia-smi -ac "5001,1590"
     ```
   + G5 インスタンス:

     ```
     PS C:\> .\nvidia-smi -ac "6250,1710"
     ```
   + G6、G6f、Gr6、およびGr6f インスタンス:

     ```
     PS C:\> .\nvidia-smi -ac "6251,2040"
     ```
   + G6e インスタンス:

     ```
     PS C:\> .\nvidia-smi -ac "9001,2520"
     ```
   + P2 インスタンス:

     ```
     PS C:\> .\nvidia-smi -ac "2505,875"
     ```
   + P3 および P3dn インスタンス:

     ```
     PS C:\> .\nvidia-smi -ac "877,1530"
     ```