イントロダクション
最適化は多くの計算資源を必要とするタスクであるため、実行に使用するハードウェアはそのパフォーマンスを左右します。しかし、パフォーマンスは多くの要因に影響を受けるため、特定の状況に対して最適なハードウェアを見つけることは一般に難しいです。そのため、必要に応じてベンチマークを実施することを推奨いたします。評価ライセンスをお求めの場合には、日本リージョンの場合代理店にお問い合わせください。
一般的な経験則
- 並列化の効果はモデルに依存する: Gurobiは最適化問題を解くための様々なアルゴリズムの組合せにより構成されています。これらのアルゴリズムにはうまく並列化できるものもあれば、まったく並列化できないものもあります。並列化可能なアルゴリズムについても、各スレッドに分配される作業量が不均等になることがあり、スレッドを追加することが必ずしも高速化につながるとは限りません。
- GPUはGurobiの高速化に影響しない: GurobiはGPUに対してこれまでも多くの時間を費やして検討をしてきました。しかしながら、現在の評価では、GPUは最適化問題を解く際のパフォーマンス上の利点を利点を提供することはできないという結論です。
- CPUは速いほどよい: 高クロックのCPUは、低クロックのCPUよりも優れたパフォーマンスを提供します。
- RAMの必要量はモデルに依存する: たとえ問題のサイズが小さくとも、求解に多くのメモリーを必要とするモデルもあれば、逆に大きなモデルでも必要メモリーが少なくて済むものもあります。どれだけのモデルが必要となるかを予測することは一般に困難です。
ハードウェアに関するガイドライン
最適化のためのハードウェアを選択する際に、主に以下の2つの点を考慮する必要があります。
- 各最適化実行時に利用するコア数とRAMサイズは?
- 同じマシン上でいくつの最適化を同時に実行するか?
二番目 に対する答えは比較的簡単であることが多いですが、一つ目に対する答えは前述の通りモデルに依存するため、事前にベンチマークテストすることで確認が必要です。ベンチマークをする際には得られた結果がロバストであり、システムに対する正確な負荷予測となっていることを担保するために、幅広いインスタンスを利用することが極めて重要となります。
さらに、最適化ジョブの実行中に計算リソースを必要とする可能性のある他のプロセスを考慮することも重要です。一般的には、最適化問題を解くための専用のハードウェアを割り当てることを推奨しています。
コメント
0件のコメント
記事コメントは受け付けていません。