0

私は画像処理に取り組んでいます。Intel(R) Core(TM) i7 -3770 CPU @3.40 GHz、RAM 4 GB 構成のコンピュータを使用しています。PCT の SPMD コマンドを使用して、画像処理のアルゴリズムのコードを並列化したいだけです。このために、画像を縦に 8 つの部分に分割し、異なるラボに送り、SPMD コマンドを使用して、異なるラボの異なる部分で並列に画像処理のアルゴリズムを実行しました。

シーケンシャルコードから得た正しい答えを得ました。しかし、これはシーケンシャル コードよりも時間がかかります。非常に大きな画像から最小の画像まで試してみましたが、大きな結果は得られませんでした。

SPMD コマンドを使用して大幅な高速化を実現する方法を教えてください。

4

2 に答える 2

1

コードを提供しなかったので、一般的な回答に固執する必要があります。すべての並列コンピューティングには、いくつかの設計上の考慮事項があります。最も重要な 2 つは、コードを並列で実行できるかどうか、2 つ目は、作成する通信オーバーヘッドがどれくらいかということです。

ワーカーを呼び出すということは、情報をやり取りすることを意味するため、並列計算には最適な方法があります。ワーカーとの通信に必要な時間が並列コンピューティングによる高速化よりも短くなるように、ワーカーに十分な作業を提供するようにしてください。

最後になりましたが、実際に動作するコード例を提供すると、コミュニティがより良いサポートを提供してくれます!

于 2014-07-17T09:04:06.137 に答える