mirror of
https://github.com/OpenMP/Examples.git
synced 2025-04-07 23:22:11 +01:00
41 lines
462 B
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;
|
|
}
|