PETScの線形ソルバーのパフォーマンスをプロファイルしています。私が理解しているように、
1つのプロセッサで並列コードを実行すると、シーケンシャルパフォーマンスのプロキシとして使用できることを知っています。ただし、並列オーバーヘッドが発生するため、これは同等の順次コードの適切な尺度ではないと思います。多くの場合、シーケンシャルコードのパフォーマンスは、シングルプロセッサのパラレルパフォーマンスよりも高速です。同じソルバーを実装する数値ライブラリを検索できると思いますが、アルゴリズムが実際に同等である保証はありません。
私が理解しているように、
したがって、並列オーバーヘッドを定量化する方法がある場合は、1つのプロセッサーの並列時間からそれを差し引いて、順次時間のより良い測定値を取得できます。
したがって、私の質問は次のようになります。
- シーケンシャルコードが利用できない場合に、単一のプロセッサで実行される並列コードの並列オーバーヘッドを計算する方法はありますか?
- 本当に必要ですか?一般に、1つのプロセッサでの並列パフォーマンスは、順次パフォーマンスを概算するのに十分ですか?