Site Tools


master-openmp

**This is an old revision of the document!**

Table of Contents

Master (OpenMP)

Master is an OpenMP directive that restricts execution of a block to thread 0. Unlike `single`, there is no implicit barrier. Other threads skip the block entirely and continue immediately, making it suitable for non-critical side effects like printing progress or updating a log counter where stalling the whole team would be wasteful.

#pragma omp parallel
{
    do_work();
 
    #pragma omp master
    printf("iteration %d done\n", iter);  // thread 0 only; no barrier
 
    do_more_work();  // all threads, including thread 0, continue here
}

Use single when the rest of the team must wait for the result; use master when the block is incidental and the team should not be held up.

master-openmp.1781163777.txt.gz ยท Last modified: by 127.0.0.1