グラフの頂点ごとに計算を行うアプリケーションを開発しています。ここでの主な問題は、各計算がかなり小さいため、レイテンシーです。たとえば、各計算は単独で実行するのに 10 ミリ秒かかる場合があるため、PGBL によってプロセスに大幅なレイテンシが追加されることはありません。
このタスクを実行するために、独自のベアボーン グラフ ルーチンをコーディングできます。もちろん、PBGL には、あると便利な機能が他にもたくさんあります。たとえば、レイテンシが問題にならない場合は、一部の計算を「クラウド」にオフロードする可能性さえあります。
では、基本的に、CPU またはマルチコア CPU 上のベクトル全体の計算のオーバーヘッドはどのくらいでしょうか? また、将来、頂点計算を GPU にオフロードすることは可能でしょうか?
私は PGBL を使用したことはありませんが、boost ライブラリで PGBL に出くわし、潜在的なレイテンシの問題を除けば、私のアプリケーションにとってほぼ完璧である可能性があるものとして目に留まりました。
たとえば、n 個のブランチに分割され、各ブランチの計算が個別のコアで実行される非常に単純なツリーと、PBGL を使用する場合のパフォーマンスの違いはどのようなものでしょうか? (短い計算時間の場合、明らかに計算が大きいほど差は小さくなります)