Como o OpenMP lida com loops aninhados?

O código a seguir apenas paraleliza os primeiros loops (externos) ou paraleliza todos os loops aninhados?

    #pragma omp parallel for
    for (int i=0;i<N;i++)
    { 
      for (int j=0;j<M;j++)
      {
       //do task(i,j)//
      }
    }

Eu só quero ter certeza se o código acima irá paralelizar todo o loop for-loops aninhado (assim, um thread diretamente relacionado tarefa (i, j)), ou apenas paraleliza o for-loop externo (assim, garante que, para cada parrallel thread com índice de loop i, o loop interno será feito sequencialmente em um único thread, o que é muito importante).

questionAnswers(3)

yourAnswerToTheQuestion