У меня есть следующий код, который, как мне кажется, должен отображать индикатор выполнения, приближающий ход всего процесса (поскольку каждый параллельный поток цикла должен прогрессировать примерно с той же скоростью)
#pragma omp parallel for
for(long int x=0;x<elevations.size1();x++){
#pragma omp master
{
progress_bar(x*omp_get_num_threads()); //Todo: Should I check to see if ftell fails here?
}
........
}
Однако я получаю следующую ошибку:
warning: master region may not be closely nested inside of work-sharing or explicit task region [enabled by default]
Теперь, когда я запускаю код, я получаю желаемый результат. Но мне не нравятся предупреждения. Почему это дает мне предупреждение и есть ли лучший способ сделать это?
Спасибо!