У меня есть один блок, заключенный в блок секций, подобный этому
#include <stdio.h>
#include <stdlib.h>
#include <omp.h>
int main (int argc, char *argv[])
{
int nthreads, tid;
/* Fork a team of threads giving them their own copies of variables */
#pragma omp parallel private(tid)
{
#pragma omp sections
{
#pragma omp section
{
printf("First section %d \n" , tid);
}
#pragma omp section
{
#pragma omp single
{
printf("Second Section block %d \n" , tid);
}
}
}
} /* All threads join master thread and disband */
printf("Outside parallel block \n");
}
Когда я компилирую этот код, компилятор выдает следующее предупреждение
область разделения работы не может быть тесно вложена в область разделения работы, критическую, заказанную или основную область
Почему это?