41 omp_event_handle_t *evs =
42 (omp_event_handle_t *)malloc(
sizeof(omp_event_handle_t) * nth1);
43#pragma omp parallel num_threads(nth1)
45 int tid = omp_get_thread_num();
46 omp_event_handle_t e = evs[tid];
47#pragma omp task detach(e)
53 fprintf(stderr,
"error: parallel_detached(): a (%d) != %d\n",
a, nth1);
74 omp_event_handle_t **evs =
75 (omp_event_handle_t **)malloc(
sizeof(omp_event_handle_t *) * nth1);
76#pragma omp parallel num_threads(nth1)
78 int tid = omp_get_thread_num();
79 evs[tid] = (omp_event_handle_t *)malloc(
sizeof(omp_event_handle_t) * nth2);
80#pragma omp parallel num_threads(nth2) shared(tid)
82 int tid2 = omp_get_thread_num();
83 omp_event_handle_t e = evs[tid][tid2];
84#pragma omp task detach(e)
91 if (
a != nth1 * nth2) {
92 fprintf(stderr,
"error: nested_parallel_detached(): a (%d) != %d * %d\n",
a,