reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

projects/openmp/runtime/src/kmp_barrier.cpp
  877     thr_bar->use_oncore_barrier = 1;
  879     thr_bar->use_oncore_barrier = 0; // Do not use oncore barrier when nested
  893   (void)__kmp_init_hierarchical_barrier_thread(bt, thr_bar, nproc, gtid, tid,
  896   if (thr_bar->my_level) { // not a leaf (my_level==0 means leaf)
  901         thr_bar->use_oncore_barrier) {
  902       if (thr_bar->leaf_kids) {
  906                 ? thr_bar->b_arrived | thr_bar->leaf_state
  906                 ? thr_bar->b_arrived | thr_bar->leaf_state
  907                 : team->t.t_bar[bt].b_arrived | thr_bar->leaf_state;
  911         kmp_flag_64 flag(&thr_bar->b_arrived, leaf_state);
  915           for (child_tid = tid + 1; child_tid <= tid + thr_bar->leaf_kids;
  930         KMP_TEST_THEN_AND64(&thr_bar->b_arrived, ~(thr_bar->leaf_state));
  930         KMP_TEST_THEN_AND64(&thr_bar->b_arrived, ~(thr_bar->leaf_state));
  933       for (kmp_uint32 d = 1; d < thr_bar->my_level;
  935         kmp_uint32 last = tid + thr_bar->skip_per_level[d + 1],
  936                    skip = thr_bar->skip_per_level[d];
  966       for (kmp_uint32 d = 0; d < thr_bar->my_level;
  968         kmp_uint32 last = tid + thr_bar->skip_per_level[d + 1],
  969                    skip = thr_bar->skip_per_level[d];
 1012     if (thr_bar->my_level || __kmp_dflt_blocktime != KMP_MAX_BLOCKTIME ||
 1013         !thr_bar->use_oncore_barrier) { // Parent is waiting on my b_arrived
 1016       kmp_flag_64 flag(&thr_bar->b_arrived, other_threads[thr_bar->parent_tid]);
 1016       kmp_flag_64 flag(&thr_bar->b_arrived, other_threads[thr_bar->parent_tid]);
 1020       thr_bar->b_arrived = team->t.t_bar[bt].b_arrived + KMP_BARRIER_STATE_BUMP;
 1021       kmp_flag_oncore flag(&thr_bar->parent_bar->b_arrived, thr_bar->offset);
 1021       kmp_flag_oncore flag(&thr_bar->parent_bar->b_arrived, thr_bar->offset);
 1022       flag.set_waiter(other_threads[thr_bar->parent_tid]);