Lines Matching refs:task

323 static kmp_int32 __kmp_push_task(kmp_int32 gtid, kmp_task_t *task) {  in __kmp_push_task()  argument
325 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __kmp_push_task()
512 static void __kmp_task_start(kmp_int32 gtid, kmp_task_t *task, in __kmp_task_start() argument
514 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __kmp_task_start()
563 static inline void __ompt_task_init(kmp_taskdata_t *task, int tid) { in __ompt_task_init() argument
565 task->ompt_task_info.task_data.value = 0; in __ompt_task_init()
566 task->ompt_task_info.frame.exit_frame = ompt_data_none; in __ompt_task_init()
567 task->ompt_task_info.frame.enter_frame = ompt_data_none; in __ompt_task_init()
568 task->ompt_task_info.frame.exit_frame_flags = in __ompt_task_init()
570 task->ompt_task_info.frame.enter_frame_flags = in __ompt_task_init()
576 static inline void __ompt_task_start(kmp_task_t *task, in __ompt_task_start() argument
579 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __ompt_task_start()
596 static inline void __ompt_task_finish(kmp_task_t *task, in __ompt_task_finish() argument
600 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __ompt_task_finish()
616 kmp_task_t *task, in __kmpc_omp_task_begin_if0_template() argument
619 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __kmpc_omp_task_begin_if0_template()
638 __kmp_task_start(gtid, task, current_task); in __kmpc_omp_task_begin_if0_template()
657 __ompt_task_start(task, current_task, gtid); in __kmpc_omp_task_begin_if0_template()
668 kmp_task_t *task, in __kmpc_omp_task_begin_if0_ompt() argument
671 __kmpc_omp_task_begin_if0_template<true>(loc_ref, gtid, task, frame_address, in __kmpc_omp_task_begin_if0_ompt()
683 kmp_task_t *task) { in __kmpc_omp_task_begin_if0() argument
687 __kmpc_omp_task_begin_if0_ompt(loc_ref, gtid, task, in __kmpc_omp_task_begin_if0()
693 __kmpc_omp_task_begin_if0_template<false>(loc_ref, gtid, task, NULL, NULL); in __kmpc_omp_task_begin_if0()
699 void __kmpc_omp_task_begin(ident_t *loc_ref, kmp_int32 gtid, kmp_task_t *task) { in __kmpc_omp_task_begin() argument
705 gtid, loc_ref, KMP_TASK_TO_TASKDATA(task), current_task)); in __kmpc_omp_task_begin()
707 __kmp_task_start(gtid, task, current_task); in __kmpc_omp_task_begin()
710 loc_ref, KMP_TASK_TO_TASKDATA(task))); in __kmpc_omp_task_begin()
822 static void __kmp_task_finish(kmp_int32 gtid, kmp_task_t *task, in __kmp_task_finish() argument
824 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __kmp_task_finish()
890 kmp_routine_entry_t destr_thunk = task->data1.destructors; in __kmp_task_finish()
892 destr_thunk(gtid, task); in __kmp_task_finish()
916 __ompt_task_finish(task, resumed_task, ompt_task_detach); in __kmp_task_finish()
935 __ompt_task_finish(task, resumed_task, ompt_task_complete); in __kmp_task_finish()
990 kmp_task_t *task) { in __kmpc_omp_task_complete_if0_template() argument
992 gtid, loc_ref, KMP_TASK_TO_TASKDATA(task))); in __kmpc_omp_task_complete_if0_template()
995 __kmp_task_finish<ompt>(gtid, task, NULL); in __kmpc_omp_task_complete_if0_template()
998 gtid, loc_ref, KMP_TASK_TO_TASKDATA(task))); in __kmpc_omp_task_complete_if0_template()
1016 kmp_task_t *task) { in __kmpc_omp_task_complete_if0_ompt() argument
1017 __kmpc_omp_task_complete_if0_template<true>(loc_ref, gtid, task); in __kmpc_omp_task_complete_if0_ompt()
1027 kmp_task_t *task) { in __kmpc_omp_task_complete_if0() argument
1030 __kmpc_omp_task_complete_if0_ompt(loc_ref, gtid, task); in __kmpc_omp_task_complete_if0()
1034 __kmpc_omp_task_complete_if0_template<false>(loc_ref, gtid, task); in __kmpc_omp_task_complete_if0()
1041 kmp_task_t *task) { in __kmpc_omp_task_complete() argument
1043 loc_ref, KMP_TASK_TO_TASKDATA(task))); in __kmpc_omp_task_complete()
1045 __kmp_task_finish<false>(gtid, task, in __kmpc_omp_task_complete()
1049 loc_ref, KMP_TASK_TO_TASKDATA(task))); in __kmpc_omp_task_complete()
1067 kmp_taskdata_t *task = &team->t.t_implicit_task_taskdata[tid]; in __kmp_init_implicit_task() local
1072 tid, team, task, set_curr_task ? "TRUE" : "FALSE")); in __kmp_init_implicit_task()
1074 task->td_task_id = KMP_GEN_TASK_ID(); in __kmp_init_implicit_task()
1075 task->td_team = team; in __kmp_init_implicit_task()
1078 task->td_ident = loc_ref; in __kmp_init_implicit_task()
1079 task->td_taskwait_ident = NULL; in __kmp_init_implicit_task()
1080 task->td_taskwait_counter = 0; in __kmp_init_implicit_task()
1081 task->td_taskwait_thread = 0; in __kmp_init_implicit_task()
1083 task->td_flags.tiedness = TASK_TIED; in __kmp_init_implicit_task()
1084 task->td_flags.tasktype = TASK_IMPLICIT; in __kmp_init_implicit_task()
1085 task->td_flags.proxy = TASK_FULL; in __kmp_init_implicit_task()
1088 task->td_flags.task_serial = 1; in __kmp_init_implicit_task()
1089 task->td_flags.tasking_ser = (__kmp_tasking_mode == tskm_immediate_exec); in __kmp_init_implicit_task()
1090 task->td_flags.team_serial = (team->t.t_serialized) ? 1 : 0; in __kmp_init_implicit_task()
1092 task->td_flags.started = 1; in __kmp_init_implicit_task()
1093 task->td_flags.executing = 1; in __kmp_init_implicit_task()
1094 task->td_flags.complete = 0; in __kmp_init_implicit_task()
1095 task->td_flags.freed = 0; in __kmp_init_implicit_task()
1097 task->td_depnode = NULL; in __kmp_init_implicit_task()
1098 task->td_last_tied = task; in __kmp_init_implicit_task()
1099 task->td_allow_completion_event.type = KMP_EVENT_UNINITIALIZED; in __kmp_init_implicit_task()
1102 KMP_ATOMIC_ST_REL(&task->td_incomplete_child_tasks, 0); in __kmp_init_implicit_task()
1104 KMP_ATOMIC_ST_REL(&task->td_allocated_child_tasks, 0); in __kmp_init_implicit_task()
1105 task->td_taskgroup = NULL; // An implicit task does not have taskgroup in __kmp_init_implicit_task()
1106 task->td_dephash = NULL; in __kmp_init_implicit_task()
1109 KMP_DEBUG_ASSERT(task->td_incomplete_child_tasks == 0); in __kmp_init_implicit_task()
1110 KMP_DEBUG_ASSERT(task->td_allocated_child_tasks == 0); in __kmp_init_implicit_task()
1115 __ompt_task_init(task, tid); in __kmp_init_implicit_task()
1119 team, task)); in __kmp_init_implicit_task()
1128 kmp_taskdata_t *task = thread->th.th_current_task; in __kmp_finish_implicit_task() local
1129 if (task->td_dephash) { in __kmp_finish_implicit_task()
1131 task->td_flags.complete = 1; in __kmp_finish_implicit_task()
1132 children = KMP_ATOMIC_LD_ACQ(&task->td_incomplete_child_tasks); in __kmp_finish_implicit_task()
1133 kmp_tasking_flags_t flags_old = task->td_flags; in __kmp_finish_implicit_task()
1137 if (KMP_COMPARE_AND_STORE_ACQ32(RCAST(kmp_int32 *, &task->td_flags), in __kmp_finish_implicit_task()
1142 thread->th.th_info.ds.ds_gtid, task)); in __kmp_finish_implicit_task()
1143 __kmp_dephash_free_entries(thread, task->td_dephash); in __kmp_finish_implicit_task()
1154 kmp_taskdata_t *task = thread->th.th_current_task; in __kmp_free_implicit_task() local
1155 if (task && task->td_dephash) { in __kmp_free_implicit_task()
1156 __kmp_dephash_free(thread, task->td_dephash); in __kmp_free_implicit_task()
1157 task->td_dephash = NULL; in __kmp_free_implicit_task()
1189 kmp_task_t *task; in __kmp_task_alloc() local
1307 task = KMP_TASKDATA_TO_TASK(taskdata); in __kmp_task_alloc()
1312 KMP_DEBUG_ASSERT((((kmp_uintptr_t)task) & (sizeof(double) - 1)) == 0); in __kmp_task_alloc()
1315 KMP_DEBUG_ASSERT((((kmp_uintptr_t)task) & (sizeof(_Quad) - 1)) == 0); in __kmp_task_alloc()
1319 task->shareds = &((char *)taskdata)[shareds_offset]; in __kmp_task_alloc()
1321 KMP_DEBUG_ASSERT((((kmp_uintptr_t)task->shareds) & (sizeof(void *) - 1)) == in __kmp_task_alloc()
1324 task->shareds = NULL; in __kmp_task_alloc()
1326 task->routine = task_entry; in __kmp_task_alloc()
1327 task->part_id = 0; // AC: Always start with 0 part id in __kmp_task_alloc()
1408 return task; in __kmp_task_alloc()
1476 static void __kmp_invoke_task(kmp_int32 gtid, kmp_task_t *task, in __kmp_invoke_task() argument
1478 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __kmp_invoke_task()
1484 KMP_DEBUG_ASSERT(task); in __kmp_invoke_task()
1494 __kmp_bottom_half_finish_proxy(gtid, task); in __kmp_invoke_task()
1528 __kmp_task_start(gtid, task, current_task); // OMPT only if not discarded in __kmp_invoke_task()
1592 __ompt_task_start(task, current_task, gtid); in __kmp_invoke_task()
1618 ((void (*)(void *))(*(task->routine)))(task->shareds); in __kmp_invoke_task()
1622 (*(task->routine))(gtid, task); in __kmp_invoke_task()
1649 __kmp_task_finish<true>(gtid, task, current_task); in __kmp_invoke_task()
1652 __kmp_task_finish<false>(gtid, task, current_task); in __kmp_invoke_task()
2664 kmp_task_t *task; in __kmp_remove_my_task() local
2726 task = KMP_TASKDATA_TO_TASK(taskdata); in __kmp_remove_my_task()
2727 return task; in __kmp_remove_my_task()
2738 kmp_task_t *task; in __kmp_steal_task() local
2858 task = KMP_TASKDATA_TO_TASK(taskdata); in __kmp_steal_task()
2859 return task; in __kmp_steal_task()
2878 kmp_task_t *task; in __kmp_execute_tasks_template() local
2909 task = NULL; in __kmp_execute_tasks_template()
2911 task = __kmp_remove_my_task(thread, gtid, task_team, is_constrained); in __kmp_execute_tasks_template()
2913 if ((task == NULL) && (nthreads > 1)) { // Steal a task in __kmp_execute_tasks_template()
2965 task = __kmp_steal_task(other_thread, gtid, task_team, in __kmp_execute_tasks_template()
2969 if (task != NULL) { // set last stolen to victim in __kmp_execute_tasks_template()
2983 if (task == NULL) in __kmp_execute_tasks_template()
2996 __kmp_invoke_task(gtid, task, current_task); in __kmp_execute_tasks_template()
3758 static bool __kmp_give_task(kmp_info_t *thread, kmp_int32 tid, kmp_task_t *task, in __kmp_give_task() argument
3760 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __kmp_give_task()
3986 kmp_task_t *task) { in __kmpc_task_allow_completion_event() argument
3987 kmp_taskdata_t *td = KMP_TASK_TO_TASKDATA(task); in __kmpc_task_allow_completion_event()
3990 td->td_allow_completion_event.ed.task = task; in __kmpc_task_allow_completion_event()
3998 kmp_task_t *ptask = event->ed.task; in __kmp_fulfill_event()
4050 kmp_task_t *task; in __kmp_task_dup_alloc() local
4074 task = KMP_TASKDATA_TO_TASK(taskdata); in __kmp_task_dup_alloc()
4078 if (task->shareds != NULL) { // need setup shareds pointer in __kmp_task_dup_alloc()
4080 task->shareds = &((char *)taskdata)[shareds_offset]; in __kmp_task_dup_alloc()
4081 KMP_DEBUG_ASSERT((((kmp_uintptr_t)task->shareds) & (sizeof(void *) - 1)) == in __kmp_task_dup_alloc()
4112 return task; in __kmp_task_dup_alloc()
4127 kmp_task_t *task; member in kmp_taskloop_bounds_t
4134 : task(_task), taskdata(KMP_TASK_TO_TASKDATA(task)), in kmp_taskloop_bounds_t()
4135 lower_offset((char *)lb - (char *)task), in kmp_taskloop_bounds_t()
4136 upper_offset((char *)ub - (char *)task) { in kmp_taskloop_bounds_t()
4141 : task(_task), taskdata(KMP_TASK_TO_TASKDATA(_task)), in kmp_taskloop_bounds_t()
4150 retval = *(kmp_int64 *)((char *)task + lower_offset); in get_lb()
4154 kmp_int32 *lb = RCAST(kmp_int32 *, task->shareds); in get_lb()
4157 kmp_int64 *lb = RCAST(kmp_int64 *, task->shareds); in get_lb()
4163 retval = *(kmp_int64 *)((char *)task + lower_offset); in get_lb()
4172 retval = *(kmp_int64 *)((char *)task + upper_offset); in get_ub()
4176 kmp_int32 *ub = RCAST(kmp_int32 *, task->shareds) + 1; in get_ub()
4179 kmp_int64 *ub = RCAST(kmp_int64 *, task->shareds) + 1; in get_ub()
4184 retval = *(kmp_int64 *)((char *)task + upper_offset); in get_ub()
4192 *(kmp_uint64 *)((char *)task + lower_offset) = lb; in set_lb()
4196 kmp_uint32 *lower = RCAST(kmp_uint32 *, task->shareds); in set_lb()
4199 kmp_uint64 *lower = RCAST(kmp_uint64 *, task->shareds); in set_lb()
4204 *(kmp_uint64 *)((char *)task + lower_offset) = lb; in set_lb()
4211 *(kmp_uint64 *)((char *)task + upper_offset) = ub; in set_ub()
4215 kmp_uint32 *upper = RCAST(kmp_uint32 *, task->shareds) + 1; in set_ub()
4218 kmp_uint64 *upper = RCAST(kmp_uint64 *, task->shareds) + 1; in set_ub()
4223 *(kmp_uint64 *)((char *)task + upper_offset) = ub; in set_ub()
4244 void __kmp_taskloop_linear(ident_t *loc, int gtid, kmp_task_t *task, in __kmp_taskloop_linear() argument
4257 kmp_taskloop_bounds_t task_bounds(task, lb, ub); in __kmp_taskloop_linear()
4304 next_task = __kmp_task_dup_alloc(thread, task); // allocate new task in __kmp_taskloop_linear()
4318 ptask_dup(next_task, task, lastpriv); in __kmp_taskloop_linear()
4334 __kmp_task_start(gtid, task, current_task); // make internal bookkeeping in __kmp_taskloop_linear()
4336 __kmp_task_finish<false>(gtid, task, current_task); in __kmp_taskloop_linear()
4342 kmp_task_t *task; member
4372 kmp_task_t *task = p->task; in __kmp_taskloop_task() local
4389 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __kmp_taskloop_task()
4390 KMP_DEBUG_ASSERT(task != NULL); in __kmp_taskloop_task()
4399 __kmp_taskloop_recur(NULL, gtid, task, lb, ub, st, ub_glob, num_tasks, in __kmp_taskloop_task()
4406 __kmp_taskloop_linear(NULL, gtid, task, lb, ub, st, ub_glob, num_tasks, in __kmp_taskloop_task()
4435 void __kmp_taskloop_recur(ident_t *loc, int gtid, kmp_task_t *task, in __kmp_taskloop_recur() argument
4445 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __kmp_taskloop_recur()
4446 KMP_DEBUG_ASSERT(task != NULL); in __kmp_taskloop_recur()
4459 (char *)lb - (char *)task; // remember offset of lb in the task structure in __kmp_taskloop_recur()
4461 (char *)ub - (char *)task; // remember offset of ub in the task structure in __kmp_taskloop_recur()
4495 next_task = __kmp_task_dup_alloc(thread, task); // duplicate the task in __kmp_taskloop_recur()
4499 ptask_dup(next_task, task, 0); in __kmp_taskloop_recur()
4512 p->task = next_task; in __kmp_taskloop_recur()
4537 __kmp_taskloop_recur(loc, gtid, task, lb, ub, st, ub_glob, n_tsk0, gr_size0, in __kmp_taskloop_recur()
4544 __kmp_taskloop_linear(loc, gtid, task, lb, ub, st, ub_glob, n_tsk0, in __kmp_taskloop_recur()
4554 static void __kmp_taskloop(ident_t *loc, int gtid, kmp_task_t *task, int if_val, in __kmp_taskloop() argument
4558 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); in __kmp_taskloop()
4559 KMP_DEBUG_ASSERT(task != NULL); in __kmp_taskloop()
4569 kmp_taskloop_bounds_t task_bounds(task, lb, ub); in __kmp_taskloop()
4598 __kmp_task_start(gtid, task, current_task); in __kmp_taskloop()
4600 __kmp_task_finish<false>(gtid, task, current_task); in __kmp_taskloop()
4670 __kmp_taskloop_linear(loc, gtid, task, lb, ub, st, ub_glob, num_tasks, in __kmp_taskloop()
4683 __kmp_taskloop_recur(loc, gtid, task, lb, ub, st, ub_glob, num_tasks, in __kmp_taskloop()
4694 __kmp_taskloop_linear(loc, gtid, task, lb, ub, st, ub_glob, num_tasks, in __kmp_taskloop()
4735 void __kmpc_taskloop(ident_t *loc, int gtid, kmp_task_t *task, int if_val, in __kmpc_taskloop() argument
4740 __kmp_taskloop(loc, gtid, task, if_val, lb, ub, st, nogroup, sched, grainsize, in __kmpc_taskloop()
4762 void __kmpc_taskloop_5(ident_t *loc, int gtid, kmp_task_t *task, int if_val, in __kmpc_taskloop_5() argument
4768 __kmp_taskloop(loc, gtid, task, if_val, lb, ub, st, nogroup, sched, grainsize, in __kmpc_taskloop_5()