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

References

projects/openmp/runtime/src/kmp_barrier.cpp
 1055     if (!thr_bar->use_oncore_barrier ||
 1056         __kmp_dflt_blocktime != KMP_MAX_BLOCKTIME || thr_bar->my_level != 0 ||
 1057         thr_bar->team == NULL) {
 1059       thr_bar->wait_flag = KMP_BARRIER_OWN_FLAG;
 1060       kmp_flag_64 flag(&thr_bar->b_go, KMP_BARRIER_STATE_BUMP);
 1063       TCW_8(thr_bar->b_go,
 1068       thr_bar->wait_flag = KMP_BARRIER_PARENT_FLAG;
 1069       kmp_flag_oncore flag(&thr_bar->parent_bar->b_go, KMP_BARRIER_STATE_BUMP,
 1070                            thr_bar->offset, bt,
 1073       if (thr_bar->wait_flag ==
 1075         TCW_8(thr_bar->b_go,
 1079                &(thr_bar->parent_bar->b_go)))[thr_bar->offset] = 0;
 1079                &(thr_bar->parent_bar->b_go)))[thr_bar->offset] = 0;
 1082     thr_bar->wait_flag = KMP_BARRIER_NOT_WAITING;
 1109     thr_bar->use_oncore_barrier = 1;
 1111     thr_bar->use_oncore_barrier = 0; // Do not use oncore barrier when nested
 1115   unsigned short int old_leaf_kids = thr_bar->leaf_kids;
 1116   kmp_uint64 old_leaf_state = thr_bar->leaf_state;
 1117   team_change = __kmp_init_hierarchical_barrier_thread(bt, thr_bar, nproc, gtid,
 1129       copy_icvs(&thr_bar->th_fixed_icvs,
 1132                thr_bar->use_oncore_barrier) { // optimization for inf blocktime
 1133       if (!thr_bar->my_level) // I'm a leaf in the hierarchy (my_level==0)
 1137                   &thr_bar->parent_bar->th_fixed_icvs);
 1140       if (thr_bar->my_level) // not a leaf; copy ICVs to my fixed ICVs child can
 1142         copy_icvs(&thr_bar->th_fixed_icvs, &thr_bar->parent_bar->th_fixed_icvs);
 1142         copy_icvs(&thr_bar->th_fixed_icvs, &thr_bar->parent_bar->th_fixed_icvs);
 1145                   &thr_bar->parent_bar->th_fixed_icvs);
 1151   if (thr_bar->my_level) { // not a leaf
 1155         thr_bar->use_oncore_barrier) {
 1159         thr_bar->b_go = KMP_BARRIER_STATE_BUMP;
 1165         for (child_tid = thr_bar->skip_per_level[1]; child_tid < (int)nproc;
 1166              child_tid += thr_bar->skip_per_level[1]) {
 1178           ngo_store_go(&child_bar->th_fixed_icvs, &thr_bar->th_fixed_icvs);
 1182       TCW_8(thr_bar->b_go,
 1185       if (thr_bar->leaf_kids) { // if there are any
 1188             old_leaf_kids < thr_bar->leaf_kids) { // some old, some new
 1190             thr_bar->b_go |= old_leaf_state;
 1193           last = tid + thr_bar->skip_per_level[1];
 1214           thr_bar->b_go |= thr_bar->leaf_state;
 1214           thr_bar->b_go |= thr_bar->leaf_state;
 1218       for (int d = thr_bar->my_level - 1; d >= 0;
 1220         last = tid + thr_bar->skip_per_level[d + 1];
 1221         kmp_uint32 skip = thr_bar->skip_per_level[d];
 1244                 &thr_bar->th_fixed_icvs);