Boost Graph LibraryとLEMON
ダニエルが包括的答えで述べているように、最もフル機能を備えた一般的なC ++ライブラリはBoost Graph Libraryです。幅優先検索と深さ優先検索、最小スパニングツリー、接続コンポーネント検索などのいくつかの基本的なアルゴリズムを実行できる新しい分散メモリ拡張機能がありますが、この新しいプロジェクトにはあまり詳しくありません。Boost Graph Library自体は評判が高く、世界中の多くのプロジェクトで使用されています。
基本的なHPCグラフの作業を行っている場合、Boost Graph Libraryから開始することをお勧めしますが、多くのHPC C ++コンパイラーは(C ++標準にかなり厳密に準拠しているにもかかわらず)Boostに問題があることに注意してください。 Boostの古いバージョンまたはHPCシステムで動作させるためのGCCなどの非ベンダーコンパイラ。
LEMONのリポジトリをざっと見てみると、IBM BlueGeneスーパーコンピューティングチームからの関与があることがわかりますが、MPIの依存関係や構成は見当たらないため、現時点ではシリアルグラフライブラリにすぎない可能性があります。
負荷分散と動的グラフ(再)パーティション分割
負荷分散と動的なグラフ分割に関心がある場合は、さらにいくつかのオプションがあります。おそらく最も有名なライブラリはParMETISで、昨年バージョン4に更新されました。ParMETISは、マルチフィジックスシミュレーションに重要な頂点ベースの重み付けを備えています。
ParMETISのヨーロッパの競争相手はPT-Scotchであり、特定の種類の問題に対してより良いパフォーマンスを持っていますが、ParMETISと同様に、頻繁に更新されません。
Zoltanにも興味があるかもしれません。これは、C ++での科学計算用のSandia National Laboratories Trilinosメタパッケージの一部です。Zoltanは、独自の階層パーティショナーとParMETISとPT-Scotchの両方へのインターフェイスを備えています。
Graph500
同時検索、最適化(単一ソースの最短パス)、およびエッジ指向(最大独立セット)の最先端に取り組んでいる場合、自由に利用できるGraph500ベンチマークにも興味があります。