OpenMP-Examples/sources/Example_barrier_regions.1.c

41 lines
462 B
C

/*
* @@name: barrier_regions.1c
* @@type: C
* @@compilable: yes
* @@linkable: yes
* @@expect: success
*/
void work(int n) {}
void sub3(int n)
{
work(n);
#pragma omp barrier
work(n);
}
void sub2(int k)
{
#pragma omp parallel shared(k)
sub3(k);
}
void sub1(int n)
{
int i;
#pragma omp parallel private(i) shared(n)
{
#pragma omp for
for (i=0; i<n; i++)
sub2(i);
}
}
int main()
{
sub1(2);
sub2(2);
sub3(2);
return 0;
}