Вы можете указать количество потоков, которые вы хотите в регионе.
Итак, если вы сделали это:
omp_set_nested(1);
#pragma omp parallel for private(j) num_threads(2)
for (i = 0; i < n; ++i) {
#pragma omp parallel for num_threads(4)
for (j = 0; j < m; ++j) {
/* do smth */
}
}
Тогда внешний цикл будет иметь 2 потока. И тогда каждый из этих 2 потоков создаст 4 потока для внутреннего цикла. (всего 8)
Ваше описание несколько сбивает с толку, так как вы хотите, чтобы каждый цикл использовал 4 потока. Не забывайте, что он вложенный, поэтому они размножаются.