CAD・シミュレータ関連ソフトウェアに「コスパの良い」HW選定を行う際、Division Engineeringでは以下基準で選定しています。
GPU編
- 運用するソフトウェアの要求する、GPUメモリ、APIレベルを守る。CAD/CAM/シミュレータ関連ソフトウェアでは、最低限の要求が必ず記載されています。例として「OpenGL 3」「2GB GPUメモリ」「DirectX 11.2」などと記載されています。GPU購入時は、これらが確実に対応しているかを確認します。
- ベンダ推奨GPU情報を確認する。ソフトウェア開発元ウェブサイトには、私の知る限りは、必ずなんからかの形で「推奨GPU」なる詳細な情報が記載されています。APIレベルだけでなく、子細な制限事項などを確認します。
- GPUメモリの見積法(頂点見積法)。最大限表示する頂点数からざっくり算出します。例えば100mm四方に0.01mmピッチで直線(カッターパス)を生成し、0.01mm間隔でサンプリングした結果を一度に表示すると、10億個の頂点バッファーを消費します。float型(FP32)で単純に考えると、情報の量は約1.1GBとなります。このあたりの規模感から、GPUメモリを選定しています。なお、これはあくまで「点として表示する場合のデータ量」ですので、シェーディング・カリング等々の処置は無考慮です。最終的には、価格でスペックが決まってしまいます:
なお、Minute!システムでは、計算ジオメトリと表示ジオメトリを分離し、別トレランスで管理しているため、GPUメモリは多くを必要としません。 - FP32/64の計算性能を確認しておく。一部のGPUでは、FP32(float)計算性能とFP64(double)計算性能が大きく異なるものがあるようです。これはGPUで大規模な計算を行う場合に、パフォーマンスに差が出るらしいですが、弊社アプリでは(表示のみのGPU利用なので)大きな問題にはなりません。
- ベンチマーク結果を活用する。非ゲームGPUベンチのデファクトSPECViewperfは必ずチェックします。自分で実施するととても大変なので、結果サイトにて、候補カード群の相対戦闘力を、ある程度把握しておきます。
- 試す。SPECviewperfで殆どの場合は自動的に購入対象が決まります。念押しが必要な場合はカードもしくはPCを借りるなどして、実際にアプリを実行し、想定データの処理試験をすると、なお良いでしょう。