Содержит ли следующий код только первые (внешние) циклы или распараллеливает все вложенные циклы?
#pragma omp parallel for
for (int i=0;i<N;i++)
{
for (int j=0;j<M;j++)
{
//do task(i,j)//
}
}
Я просто хочу убедиться, что вышеприведенный код будет распараллелить все вложенные for-loops (таким образом, один поток напрямую связан с задачей (i, j)) или он только распараллеливает внешний цикл for (таким образом, он гарантирует, для каждой нити parrallel с индексом цикла я его внутренний цикл будет выполняться последовательно в одном потоке, что очень важно).