この記事では、数理最適化の分野におけるGPU技術を活用するためのGurobiの最新および以前の取り組みについて文書化しています。最新のベンチマーク結果が入手可能になるにつれて、この記事は更新される予定ですが、これまでの声明も記録として残しておき、この分野が急速に進化していることを示します。
現在、「GurobiはGPUをサポートしていますか?」という質問に対する答えは次のとおりです:はい、NVIDIA GPUハードウェア上でGurobiユーザーの最適化モデルのベンチマークを実行する能力があります。
2025年
Gurobiの開発チームは、大規模最適化のための一次法を進めるためにNVIDIAと提携しています。 Gurobiは、線形計画法により多くのGPUフレンドリーなアルゴリズムをもたらすのに役立つcuOptのPDLPのオープンソースリリースに注目しています。また、cuOptの他の機能が最適化ユーザーにどのように役立つかを理解することを楽しみにしています。
最近のGPUに関するGurobiの検討とテスト方法論についての全貌は、ブログ投稿 Using GPUs to Solve LPs: What’s in It for Me?を参照してください。
2024年
Gurobiの開発チームは、Grace Hopperチップ上のパフォーマンスを研究するためにNVIDIAと協力しています。詳細なレポートについては、ブログ投稿Boosting Mathematical Optimization Performance and Energy Efficiency on the NVIDIA Grace CPUをご覧ください。この作業は、2024年3月のNVIDIA GTCで発表されました。
2024年12月、Gurobiの創設者Ed Rothbergは、ウェビナーNew Options for Solving Giant LPs.でGrace Hopper GPUに関する最初のベンチマーク結果を発表しました。2023年からの更新点は?GPU上でのスパース線形代数のライブラリを活用する能力と、バリア法および一次LPアルゴリズム(すなわち、PDHG)のGPU上での実装です。
2023年
Gurobiの開発チームはGPUに関する動向を注意深く監視していますが、これまでのところ、すべての検証結果では、GPUがLP/MIP/QPソルバーのニーズに適していないことを示しています。具体的には:
- GPUはスパース線形代数にはうまく機能せず、これは線形計画法の大部分を占めています。GPUは、数百または数千の独立したプロセッサを同時に稼働させることに依存しています。線形計画法に典型的な非常にスパースな行列は、そのようなレベルの並列性をほとんど認めません。
- GPUはSIMD計算を中心に構築されており、すべてのプロセッサが各サイクルで同じ命令を実行します(ただし異なるデータに対して)。並列MIPは、異なるプロセッサで探索木の異なるセクションを探索します。探索木の異なるノードで必要な計算は非常に異なるため、SIMD計算は並列MIPのニーズには適していません。
CPUとGPUはどちらも、パフォーマンスを向上させる手段として並列性を改善しています。Gurobi Optimizerは、CPUの複数のコアを効果的に活用するように設計されているため、将来的にはより多くの並列性から利益を得ることができるでしょう。
さらなる情報
- Supported Platforms
- Webinar recording: How to Exploit Parallelism in Linear and Mixed-Integer Programming