私はgcc
にOpenMP
ソースを学ぶ必要があります。私はOpenMP
(3.0と4.0)の文書を読んだ。私が知っているように、OpenMPはwork-sharing
メカニズムを使用しました。私が理解しているように、メカニズムはスレッド間でタスクを転送しますスレッドが実行中です。または、これらのスレッドを実行する前に、スレッド間でのデータの分散が実行されていますか?作業共有メカニズム(OpenMP)は、スレッドが実行中にスレッド間でタスクを送信しますか?
-2
A
答えて
1
のタスクでOpenMPを使用している場合、タスクは1つ以上のタスクキューに格納されます。スレッドは、アイドル状態のスレッドを検出すると、隣接するキューからタスクをスヌーピングします。これはlibgomp
の内部です。
静的スケジュールのOpenMP を並列のに使用すると、タスクスヌーピングは実行されません。
のOpenMP を動的スケジュールで使用すると、チーム内のスレッドが動的に作業を分割して、アイドル状態のスレッドが他のチームからタスクを引き継ぎます。
一般に、スレッドが実行時に通信する必要がある場合、サイクルは処理から消費されます。
+0
本当にありがとう! –
関連する問題
- 1. スレッド中に作業中
- 2. スレッド間でフレームバッファを共有
- 3. スレッドとJOptionPaneとの間でデータを共有するには、スレッドを実行する必要があります。
- 4. Select()notスレッドで作業中
- 5. OpenMPはスレッドを実行しますがメインを続ける
- 6. シリアルポートの通信が実行中のスレッド
- 7. は、OpenMP私はCUDAでの作業と並行スレッドのためのOpenMPを使用しています0
- 8. スレッド間でXPObjectオブジェクトを共有する
- 9. "PostMessage"を動作中のスレッドからメインのGUIスレッドにメッセージを送信する
- 10. C++でスレッドを共有するスレッド
- 11. Python:スレッドがまだ実行中です
- 12. Dのスレッド間でバリアを共有
- 13. 変更の実行スレッドがタスクを
- 14. スレッド間で共有変数を作成するPython
- 15. DestroyJavaVMスレッド常に実行中
- 16. 実行中のスレッドで受信したメッセージを処理する
- 17. python:キューとスレッド間でsqlite接続を共有するには?
- 18. C global static - スレッド間で共有されていますか?
- 19. スレッド間の接続の共有
- 20. mfc C++ postmessageを使用したカスタムメッセージを作業スレッドからメインUIスレッドに送信
- 21. egl - スレッド間でコンテキストを共有できます
- 22. C++スレッド間通信でスレッドを実装する
- 23. Pythonでスレッド間でグローバル変数を共有する方法は?
- 24. OpenMPとコア/スレッド
- 25. Redrawwindow実行中のスレッド
- 26. 1つのスレッドだけがmutexを使用する場合、スレッド間の共有メモリが壊れますか?
- 27. スレッドとコンソールを共有
- 28. オブジェクトを共有し、スレッドの実行をメインスレッドから制御する
- 29. QThread:スレッドがまだ実行中に破棄されました
- 30. python/djangoのスレッド間でトランザクションスコープを共有していますか? (PostgreSQL)
[自分自身でワークシェアリングを実装することで、多くのことを教えることができます](http://stackoverflow.com/a/30591616/2542702)。 –