Цикл OpenMP for с мастер-областью: «Основная область не может быть тесно вложена в рабочую область или область явной задачи»

У меня есть следующий код, который, как мне кажется, должен отображать индикатор выполнения, приближающий ход всего процесса (поскольку каждый параллельный поток цикла должен прогрессировать примерно с той же скоростью)

    #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]

Теперь, когда я запускаю код, я получаю желаемый результат. Но мне не нравятся предупреждения. Почему это дает мне предупреждение и есть ли лучший способ сделать это?

Спасибо!

6
задан Richard 16 February 2012 в 19:28
поделиться