グラフィックスプロセッシングユニット(GPU)
グラフィックスプロセッシングユニット(GPU)は、高い計算能力が要求されるエンジニアリングアプリケーションのパフォーマンスを向上させるために使用可能なシステムです。GPUコンピューティングは、アプリケーションの高い計算能力が要求されるセクションの実行にはGPUを使い、コードのその他の部分はCPUで実行するプロセスを言います。
インプリメンテーション
GPUはNVIDIA CUDAプログラミングモデルを介し、スパース直接法方程式ソルバーを加速させるために使用できるようになりました。GPUコンピューティングは、計算集約的作業のほとんどをGPUに任せて負荷を軽減し、同時にCPUコアとGPUとの間のコミュニケーションおよびデータ転送をオーバーラップすることでインプリメントされます。
互換性
- GPUコンピューティングは、線形静解析 / 最適化と、AMSESおよびLanczos固有値を用いた固有値解析に使用できます。
- GPUコンピューティングは、LinuxおよびWindowsプラットフォームで使用が可能です。
- GPUコンピューティングは、SPMDモジュールではサポートされません。ユーザーは、MPIベースの並列化(DDM)またはGPUのいずれかを使用できますが、それらを同時に使うことはできません。
- 静解析については、OptiStructのGPUはBCSおよびPCGソルバー(SOLVER=BCS/PCG、SOLVTYPバルクデータエントリ上)でのみサポートされています。静解析モデルは
–gpu
実行オプションを使って実行できますが、GPUは、BCSまたはPCGソルバーを使用する静的サブケースに限って使用されます。また、PCGソルバー実行については、-ngpu
実行オプションを用いて複数のGPUサポートが可能となりました。 - 固有値解析 / モーダル法による周波数応答解析については、OptiStructのGPUは次のいずれかのケースに推奨されます:
- ブロック構造、たとえば長方体、立方体や円筒などの固有値解析、および / または、
- 1000モードを上回るような大きなモード数を要求する固有値解析。同様にGPUは、モーダル抽出ステップが多数のモードを要求するモーダル法による周波数応答解析の実行にも使用できます。
- NVIDIA Kepler、Maxwell、PascalおよびVoltaアーキテクチャベースのTeslaおよびQuadroグラフィックカードがサポートされます。OptiStructのGPUに推奨されるカードは、Tesla P100、Tesla V100、Quadro GP100、Quadro GV100です。
GPUをアクティブ化するためのコマンド
-gpu
が使用されます。-gpuid
実行オプションは、複数のカードが存在する際、計算のために希望するグラフィックカードをピックするために使用することも可能です。また、PCG反復ソルバーの場合、実行に複数のGPUカードを同時に使用できます。これは、-ngpu
実行オプションの使用により行えます。現時点では、PCGソルバーを実行するモデルで、8 GPUカードが並列GPU実行に使用できます。 -gpu
を使ってOptiStruct GPUを起動する前に、グラフィックスカードに互換性のあるドライバーがユーザーによりインストールされる必要があります。コマンドラインオプション | 値 | 動作 |
---|---|---|
-gpu |
GPUコンピューティングをアクティブ化 | |
-ngpu |
N | 実行に使用されるGPUカードの数を指定します。 デフォルト = 1、最大値 = 8 |
-gpuid |
N | 整数: オプション、GPUカードを選択。 デフォルト = 1 |
-core in
(少なくとも–core out
)が推奨されます。OptiStructは現時点で、(-ngpu#
を介した)1つの特定のソリューションで最大8個までのグラフィックスカードをサポートします。OptiStruct GPUのライセンス情報については、Altair Simulation 2022 Solvers Unit Drawの項をご参照ください。
推奨されるGPUコンピューティングプロセッサのリスト
メーカーとモデル | グラフィックスカード | ドライバのバージョン (これ以降) |
---|---|---|
NVIDIA (Tesla) |
P100 V100 |
Linux (64-bit): 440.33 Windows (64-bit)441.22 |
NVIDIA (Quadro) |
GP100 GV100 |
Linux (64-bit): 440.33 Windows (64-bit)441.22 |