タグ付けされた質問 「parallel-computing」

複数のプロセッサの同時使用を利用して計算問題を解決する研究。

2
シーケンシャルコードが使用できない場合、単一のプロセッサで実行される並列コードの並列オーバーヘッドをどのように計算しますか?
PETScの線形ソルバーのパフォーマンスをプロファイルしています。私が理解しているように、 スピードアップ= シーケンシャルタイム並列時間。スピードアップ=順次時間並列時間。\text{speedup}=\frac{\text{Sequential Time}}{\text{Parallel Time}}. 1つのプロセッサで並列コードを実行すると、シーケンシャルパフォーマンスのプロキシとして使用できることを知っています。ただし、並列オーバーヘッドが発生するため、これは同等の順次コードの適切な尺度ではないと思います。多くの場合、シーケンシャルコードのパフォーマンスは、シングルプロセッサのパラレルパフォーマンスよりも高速です。同じソルバーを実装する数値ライブラリを検索できると思いますが、アルゴリズムが実際に同等である保証はありません。 私が理解しているように、 1つのプロセッサーでの並列パフォーマンス= 順次時間+ 並列オーバーヘッド1つのプロセッサーでの並列パフォーマンス=順次時間+パラレルオーバーヘッド\text{Parallel performance on one processor} = \text{Sequential Time} + \text{Parallel Overhead} したがって、並列オーバーヘッドを定量化する方法がある場合は、1つのプロセッサーの並列時間からそれを差し引いて、順次時間のより良い測定値を取得できます。 したがって、私の質問は次のようになります。 シーケンシャルコードが利用できない場合に、単一のプロセッサで実行される並列コードの並列オーバーヘッドを計算する方法はありますか? 本当に必要ですか?一般に、1つのプロセッサでの並列パフォーマンスは、順次パフォーマンスを概算するのに十分ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.