19 volatile int done = 0;
21#pragma omp parallel num_threads(2)
23 while (omp_get_thread_num() != 0 && !done)
37 deps[0].
addr = (size_t)&x;
41 deps[1].
addr = (size_t)&y;
93 assert((A_succ->
node == D_node && A_succ->
next->
node == E_node) ||
94 (A_succ->
node == E_node && A_succ->
next->
node == D_node));
106 assert((B_succ->
node == D_node && B_succ->
next->
node == E_node &&
108 (B_succ->
node == D_node && B_succ->
next->
node == F_node &&
110 (B_succ->
node == E_node && B_succ->
next->
node == D_node &&
112 (B_succ->
node == E_node && B_succ->
next->
node == F_node &&
114 (B_succ->
node == F_node && B_succ->
next->
node == D_node &&
116 (B_succ->
node == F_node && B_succ->
next->
node == E_node &&
121 assert((C_succ->
node == E_node && C_succ->
next->
node == F_node) ||
122 (C_succ->
node == F_node && C_succ->
next->
node == E_node));
125 assert(E_succ && !E_succ->
next);
126 assert(E_succ->
node == G_node);
128 assert(F_succ && !F_succ->
next);
129 assert(F_succ->
node == G_node);
KMP_EXPORT kmp_int32 __kmpc_omp_task_with_deps(ident_t *loc_ref, kmp_int32 gtid, kmp_task_t *new_task, kmp_int32 ndeps, kmp_depend_info_t *dep_list, kmp_int32 ndeps_noalias, kmp_depend_info_t *noalias_dep_list)
KMP_EXPORT kmp_int32 __kmpc_global_thread_num(ident_t *)
KMP_EXPORT kmp_task_t * __kmpc_omp_task_alloc(ident_t *loc_ref, kmp_int32 gtid, kmp_int32 flags, size_t sizeof_kmp_task_t, size_t sizeof_shareds, kmp_routine_entry_t task_entry)
KMP_EXPORT kmp_depnode_list_t * __kmpc_task_get_successors(kmp_task_t *task)
KMP_EXPORT kmp_base_depnode_t * __kmpc_task_get_depnode(kmp_task_t *task)
kmp_depnode_list_t * next