Konstrukcje związane ze współdzieleniem pracy Konstrukcje te są używane do ustalenia, jak przyporządkować niezależną pracę do jednego lub wszystkich wątków. omp for lub omp do – używane do rozdzielania iteracji pętli pomiędzy wątki, zwane także konstrukcjami pętli. sections – przypisanie następujących po sobie, ale niezależnych bloków kodu do różnych wątków single – wyszczególnienie bloku kodu, który będzie przetwarzany przez tylko jeden wątek, z barierą na końcu master – podobne do single, przy czym kod jest przetwarzany tylko przez wątek główny, bez bariery na końcu
Przykład: równoległa inicjalizacja wartości dużej tablicy, każdy wątek wykonuje część pracy:
int main(int argc, char **argv) { const int N = 100000; int i, a[N];
#pragma omp parallel for for (i = 0; i < N; i++) a[i] = 2 * i;
return 0;
Klauzule OpenMP Ponieważ OpenMP jest modelem programowania ze współdzieloną pamięcią, większość zmiennych w OpenMP jest domyślnie widoczna dla wszystkich wątków.