2016-04-04 4 views
6

私はgcc-4.7.4コンパイラのソースを使って作業しています。私はOpenMPライブラリの作業を習得しなければなりません。OpenMPのさまざまなバージョンのドキュメントを読んでいます。私はWokのスチールメカニズムについての情報は見つかりませんでした。それは本当ですか?OpenMPは仕事盗みの仕組みをサポートしていませんか?OpenMPは作業盗難の仕組みをサポートしていますか?

答えて

4

OpenMPは仕事スケジューリングの責任のほとんどをプログラマーの手に渡します。ワークスティールの明確なサポートや、プロセッサ間でループ反復をどのように分割するかを指定するための他のスケジューリング方針はありません。

しかし、OpenMPの実装では、仕事を盗むことを選択することがあります。このアプローチは、OpenMPがサポートする明示的なtask構成に完全に適しています。同様に、実装は別のスケジューリング手法を選択するかもしれない。

私は、gccの実装では仕事盗みが使われていると読んだことがありますが、これは私が検討したものではなく、間違っている可能性があります。

+3

私は今までに[仕事を盗む](https://en.wikipedia.org/wiki/Work_stealing)について聞いたことがないことを認めなければなりません。それが何であるか、それがワークシェアリングとはどのように対比しているのかを説明するといいでしょう。 –

+1

私は[ここ](http://stackoverflow.com/questions/35675466/reductions-in-parallel-in-logarithmic-time)で使用されているスタックベースのメソッドのように、盗んでいるものが曖昧に聞こえます。 –

+0

@ Zboson:あなたがリンクしているWikipediaの記事は、あなたが求めるすてきな説明を提供します。 –

関連する問題