Site Tools


single-openmp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
single-openmp [June 11, 2026 at 11:08] – Ivan Janevskisingle-openmp [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-# Single (OpenMP) 
-**Single** is an OpenMP directive that runs the enclosed block on exactly one thread, whichever arrives first. 
- 
-All other threads skip the block and wait at an implicit barrier at the end, so the whole team is synchronised before continuing. It is commonly used for initialisation, I/O, and task generation. 
- 
-```c 
-#pragma omp parallel 
-{ 
-    #pragma omp single 
-    initialise();    // one thread runs this; others wait at the closing brace 
- 
-    process();       // all threads continue here once initialise() is done 
-} 
-``` 
- 
-The `nowait` clause removes the implicit barrier (`#pragma omp single nowait`), but is only safe when the rest of the parallel block does not depend on what the single block produced. 
  
single-openmp.1781176085.md.gz · Last modified: by Ivan Janevski