17 #pragma omp atomic read
21 if (secs == timelimit) {
22 fprintf(stderr,
"error: timeout in wait_on_flag()\n");
25 }
while (flag_value == 0);
33int main(
int argc,
char** argv) {
40 #pragma omp parallel shared(a)
45 #pragma omp single nowait
58 #pragma omp task if(0) depend(inout: a)
65 #pragma omp task depend(inout: b)
76 #pragma omp task if(0) depend(inout: a)
82 #pragma omp task shared(a) depend(inout: a)
88 #pragma omp task if(0) depend(inout: a)
91 #pragma omp atomic read
95 fprintf(stderr,
"error: dependent task was not executed before "
96 "taskwait finished\n");
#define omp_set_num_threads
static void my_sleep(double sleeptime)
Utility function to have a sleep function with better resolution and which only stops one thread.
static void signal_flag(int *flag)
static void wait_on_flag(int *flag)
int omp_get_max_threads()
int omp_get_num_threads()