1

並列セクション コードがある場合、特定のスレッドを各セクションに割り当てることは可能ですか。

#pragma omp sections num_threads(2)
{
   #pragma omp section  //<---assigned to master thread
    {
      //do something
     }
    #pragma omp section  //<---assigned to the other thread
    {
      //do something
     }

}
4

2 に答える 2

3

スレッドへの OpenMP セクションの割り当ては、実装に依存する方法で行われます。特定の実行スレッドになるディレクティブはmaster.

スレッド固有の作業を各スレッドに与える必要がある場合は、次の戻り値に対して条件を使用しますomp_get_thread_num()

#pragma omp parallel num_threads(2)
{
   switch (omp_get_thread_num())
   {
      case 0:
         // Code for thread 0
         break;
      case 1:
         // Code for thread 1
         break;
      default:
         break;
   }
}
于 2013-02-18T14:12:51.953 に答える
0

マスタースレッドに割り当てるために使用できます

#pragma omp master
于 2013-02-18T05:50:48.687 に答える