OpenMPを使用して最適化しようとしているコード(アプリケーションの一部)があり、さまざまなスケジューリングポリシーを試しています。私の場合、句が他のschedule(RUNTIME)
句よりも優れていることに気づきました(chunk_sizeを指定していません)。私は2つの質問があります:
チャンクサイズを指定しない場合、との間に違いは
schedule(DYNAMIC)
ありschedule(GUIDED)
ますか?OMP_SCHEDULE
OpenMPは、変数に格納されているデフォルトの実装固有のスケジューリングをどのように決定しますか?
スケジューリングスキームが指定されていない場合、デフォルトschedule(STATIC)
で使用されることを学びました。したがって、OMP_SCHEDULE
変数を変更せずschedule(RUNTIME)
、プログラムで使用する場合、スケジューリングスキームはschedule(STATIC)
常に使用されますか、それともOpenMPには、スケジュール戦略を動的に考案して随時変更するインテリジェントな方法がありますか?