[Openmp-commits] [PATCH] D55788: Fix performance regression in SPEC kdtree test

Andrey Churbanov via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Tue Dec 18 01:12:43 PST 2018


AndreyChurbanov added inline comments.


================
Comment at: runtime/src/kmp_wait_release.h:264
       // implicit task is done. Either no taskqueue, or task-team finished
       __ompt_implicit_task_end(this_thr, ompt_entry_state, tId, pId);
     }
----------------
Hahnfeld wrote:
> Well, it's used in this event.
Here is the complete code of the event you mentioned:

  static inline void __ompt_implicit_task_end(kmp_info_t *this_thr,
                                            ompt_state_t ompt_state,
                                            ompt_data_t *tId,
                                            ompt_data_t *pId) {
  int ds_tid = this_thr->th.th_info.ds.ds_tid;
  if (ompt_state == ompt_state_wait_barrier_implicit) {
    this_thr->th.ompt_thread_info.state = ompt_state_overhead;
    void *codeptr = NULL;
    if (ompt_enabled.ompt_callback_sync_region_wait) {
      ompt_callbacks.ompt_callback(ompt_callback_sync_region_wait)(
          ompt_sync_region_barrier, ompt_scope_end, NULL, tId, codeptr);
    }
    if (ompt_enabled.ompt_callback_sync_region) {
      ompt_callbacks.ompt_callback(ompt_callback_sync_region)(
          ompt_sync_region_barrier, ompt_scope_end, NULL, tId, codeptr);
    }
    if (!KMP_MASTER_TID(ds_tid)) {
      if (ompt_enabled.ompt_callback_implicit_task) {
        ompt_callbacks.ompt_callback(ompt_callback_implicit_task)(
            ompt_scope_end, NULL, tId, 0, ds_tid);
      }
      // return to idle state
      this_thr->th.ompt_thread_info.state = ompt_state_idle;
    } else {
      this_thr->th.ompt_thread_info.state = ompt_state_overhead;
    }
  }
  }

The pId parameter is not used here.


Repository:
  rOMP OpenMP

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55788/new/

https://reviews.llvm.org/D55788





More information about the Openmp-commits mailing list