Для распределения работы в рамках ОреnМР можно использовать четыре варианта:
- программирование на низком уровне (OMP_GET_THREAD_NUM() );
- директива for для параллельного выполнения циклов;
- директива SECTIONS для параллельного выполнения независимых фрагментов
программы (SECTIONS{ [#pragma omp section{ }]...} );
- директива SINGLE для однократного выполнения участка кода (SINGLE{...}).