Lines Matching refs:taskdata

403                                           kmp_taskdata_t *taskdata,  argument
409 gtid, taskdata, pri));
444 __kmp_task_is_allowed(gtid, __kmp_task_stealing_constraint, taskdata,
449 gtid, taskdata));
459 thread_data->td.td_deque[thread_data->td.td_deque_tail] = taskdata;
466 KMP_FSYNC_RELEASING(taskdata); // releasing child
469 gtid, taskdata, thread_data->td.td_deque_ntasks,
479 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
484 if (UNLIKELY(taskdata->td_flags.hidden_helper &&
498 ("__kmp_push_task: T#%d trying to push task %p.\n", gtid, taskdata));
500 if (UNLIKELY(taskdata->td_flags.tiedness == TASK_UNTIED)) {
503 kmp_int32 counter = 1 + KMP_ATOMIC_INC(&taskdata->td_untied_count);
508 gtid, counter, taskdata));
512 if (UNLIKELY(taskdata->td_flags.task_serial)) {
515 gtid, taskdata));
528 if (taskdata->td_flags.priority_specified && task->data2.priority > 0 &&
531 return __kmp_push_priority_task(gtid, thread, taskdata, task_team, pri);
549 __kmp_task_is_allowed(gtid, __kmp_task_stealing_constraint, taskdata,
553 gtid, taskdata));
572 __kmp_task_is_allowed(gtid, __kmp_task_stealing_constraint, taskdata,
577 gtid, taskdata));
590 taskdata; // Push taskdata
597 KMP_FSYNC_RELEASING(taskdata); // releasing child
600 gtid, taskdata, thread_data->td.td_deque_ntasks,
672 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
677 gtid, taskdata, current_task));
679 KMP_DEBUG_ASSERT(taskdata->td_flags.tasktype == TASK_EXPLICIT);
688 if (taskdata->td_flags.tiedness == TASK_TIED) {
689 __kmp_push_task_stack(gtid, thread, taskdata);
694 thread->th.th_current_task = taskdata;
696 KMP_DEBUG_ASSERT(taskdata->td_flags.started == 0 ||
697 taskdata->td_flags.tiedness == TASK_UNTIED);
698 KMP_DEBUG_ASSERT(taskdata->td_flags.executing == 0 ||
699 taskdata->td_flags.tiedness == TASK_UNTIED);
700 taskdata->td_flags.started = 1;
701 taskdata->td_flags.executing = 1;
702 KMP_DEBUG_ASSERT(taskdata->td_flags.complete == 0);
703 KMP_DEBUG_ASSERT(taskdata->td_flags.freed == 0);
710 KA_TRACE(10, ("__kmp_task_start(exit): T#%d task=%p\n", gtid, taskdata));
739 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
749 &(taskdata->ompt_task_info.task_data));
751 taskdata->ompt_task_info.scheduling_parent = current_task;
760 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
761 if (__kmp_omp_cancellation && taskdata->td_taskgroup &&
762 taskdata->td_taskgroup->cancel_request == cancel_taskgroup) {
768 &(taskdata->ompt_task_info.task_data), status,
779 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
784 gtid, loc_ref, taskdata, current_task));
786 if (UNLIKELY(taskdata->td_flags.tiedness == TASK_UNTIED)) {
789 kmp_int32 counter = 1 + KMP_ATOMIC_INC(&taskdata->td_untied_count);
793 gtid, counter, taskdata));
796 taskdata->td_flags.task_serial =
804 taskdata->ompt_task_info.frame.exit_frame.ptr = frame_address;
806 taskdata->ompt_task_info.frame.exit_frame_flags =
813 &(taskdata->ompt_task_info.task_data),
814 ompt_task_explicit | TASK_TYPE_DETAILS_FORMAT(taskdata), 0,
822 loc_ref, taskdata));
888 static void __kmp_free_task(kmp_int32 gtid, kmp_taskdata_t *taskdata, argument
891 taskdata));
894 KMP_DEBUG_ASSERT(taskdata->td_flags.tasktype == TASK_EXPLICIT);
895 KMP_DEBUG_ASSERT(taskdata->td_flags.executing == 0);
896 KMP_DEBUG_ASSERT(taskdata->td_flags.complete == 1);
897 KMP_DEBUG_ASSERT(taskdata->td_flags.freed == 0);
898 KMP_DEBUG_ASSERT(taskdata->td_allocated_child_tasks == 0 ||
899 taskdata->td_flags.task_serial == 1);
900 KMP_DEBUG_ASSERT(taskdata->td_incomplete_child_tasks == 0);
901 kmp_task_t *task = KMP_TASKDATA_TO_TASK(taskdata);
906 taskdata->td_flags.freed = 1;
909 if (!taskdata->is_taskgraph) {
913 __kmp_fast_free(thread, taskdata);
915 __kmp_thread_free(thread, taskdata);
919 taskdata->td_flags.complete = 0;
920 taskdata->td_flags.started = 0;
921 taskdata->td_flags.freed = 0;
922 taskdata->td_flags.executing = 0;
923 taskdata->td_flags.task_serial =
924 (taskdata->td_parent->td_flags.final ||
925 taskdata->td_flags.team_serial || taskdata->td_flags.tasking_ser);
928 KMP_ATOMIC_ST_RLX(&taskdata->td_untied_count, 0);
929 KMP_ATOMIC_ST_RLX(&taskdata->td_incomplete_child_tasks, 0);
931 KMP_ATOMIC_ST_RLX(&taskdata->td_allocated_child_tasks, 1);
935 KA_TRACE(20, ("__kmp_free_task: T#%d freed task %p\n", gtid, taskdata));
945 kmp_taskdata_t *taskdata, argument
950 (taskdata->td_flags.team_serial || taskdata->td_flags.tasking_ser) &&
951 !taskdata->td_flags.proxy;
952 KMP_DEBUG_ASSERT(taskdata->td_flags.tasktype == TASK_EXPLICIT);
954 kmp_int32 children = KMP_ATOMIC_DEC(&taskdata->td_allocated_child_tasks) - 1;
959 kmp_taskdata_t *parent_taskdata = taskdata->td_parent;
963 gtid, taskdata));
966 __kmp_free_task(gtid, taskdata, thread);
968 taskdata = parent_taskdata;
974 if (taskdata->td_flags.tasktype == TASK_IMPLICIT) {
975 if (taskdata->td_dephash) { // do we need to cleanup dephash?
976 int children = KMP_ATOMIC_LD_ACQ(&taskdata->td_incomplete_child_tasks);
977 kmp_tasking_flags_t flags_old = taskdata->td_flags;
982 RCAST(kmp_int32 *, &taskdata->td_flags),
987 gtid, taskdata));
989 __kmp_dephash_free_entries(thread, taskdata->td_dephash);
996 children = KMP_ATOMIC_DEC(&taskdata->td_allocated_child_tasks) - 1;
1003 gtid, taskdata, children));
1014 static bool __kmp_track_children_task(kmp_taskdata_t *taskdata) { argument
1015 kmp_tasking_flags_t flags = taskdata->td_flags;
1020 KMP_ATOMIC_LD_ACQ(&taskdata->td_parent->td_incomplete_child_tasks) > 0;
1022 if (taskdata->td_taskgroup && taskdata->is_taskgraph)
1023 ret = ret || KMP_ATOMIC_LD_ACQ(&taskdata->td_taskgroup->count) > 0;
1040 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
1053 gtid, taskdata, resumed_task));
1055 KMP_DEBUG_ASSERT(taskdata->td_flags.tasktype == TASK_EXPLICIT);
1058 is_taskgraph = taskdata->is_taskgraph;
1063 if (taskdata->td_flags.tiedness == TASK_TIED) {
1064 __kmp_pop_task_stack(gtid, thread, taskdata);
1068 if (UNLIKELY(taskdata->td_flags.tiedness == TASK_UNTIED)) {
1071 kmp_int32 counter = KMP_ATOMIC_DEC(&taskdata->td_untied_count) - 1;
1075 gtid, counter, taskdata));
1080 KMP_DEBUG_ASSERT(taskdata->td_flags.task_serial);
1081 resumed_task = taskdata->td_parent; // In a serialized task, the resumed
1088 gtid, taskdata, resumed_task));
1096 (taskdata->td_flags.tasking_ser || taskdata->td_flags.task_serial) ==
1097 taskdata->td_flags.task_serial);
1098 if (taskdata->td_flags.task_serial) {
1100 resumed_task = taskdata->td_parent; // In a serialized task, the resumed
1114 if (UNLIKELY(taskdata->td_flags.destructors_thunk)) {
1120 KMP_DEBUG_ASSERT(taskdata->td_flags.complete == 0);
1121 KMP_DEBUG_ASSERT(taskdata->td_flags.started == 1);
1122 KMP_DEBUG_ASSERT(taskdata->td_flags.freed == 0);
1125 if (UNLIKELY(taskdata->td_flags.detachable == TASK_DETACHABLE)) {
1126 if (taskdata->td_allow_completion_event.type ==
1129 __kmp_acquire_tas_lock(&taskdata->td_allow_completion_event.lock, gtid);
1130 if (taskdata->td_allow_completion_event.type ==
1133 KMP_DEBUG_ASSERT(taskdata->td_flags.executing == 1);
1134 taskdata->td_flags.executing = 0; // suspend the finishing task
1147 taskdata->td_flags.proxy = TASK_PROXY; // proxify!
1150 __kmp_release_tas_lock(&taskdata->td_allow_completion_event.lock, gtid);
1155 if (taskdata->td_target_data.async_handle != NULL) {
1166 taskdata->td_flags.complete = 1; // mark the task as completed
1168 taskdata->td_flags.onced = 1; // mark the task as ran once already
1178 if (__kmp_track_children_task(taskdata)) {
1179 __kmp_release_deps(gtid, taskdata);
1184 KMP_ATOMIC_DEC(&taskdata->td_parent->td_incomplete_child_tasks);
1187 if (taskdata->td_taskgroup && !taskdata->is_taskgraph)
1189 if (taskdata->td_taskgroup)
1191 KMP_ATOMIC_DEC(&taskdata->td_taskgroup->count);
1196 __kmp_release_deps(gtid, taskdata);
1202 KMP_DEBUG_ASSERT(taskdata->td_flags.executing == 1);
1203 taskdata->td_flags.executing = 0; // suspend the finishing task
1206 if (taskdata->td_flags.hidden_helper) {
1215 gtid, taskdata, children));
1223 __kmp_free_task_and_ancestors(gtid, taskdata, thread);
1230 if (is_taskgraph && __kmp_track_children_task(taskdata) &&
1231 taskdata->td_taskgroup) {
1238 KMP_ATOMIC_DEC(&taskdata->td_taskgroup->count);
1244 gtid, taskdata, resumed_task));
1458 kmp_taskdata_t *taskdata; local
1555 taskdata = (kmp_taskdata_t *)__kmp_fast_allocate(thread, shareds_offset +
1558 taskdata = (kmp_taskdata_t *)__kmp_thread_malloc(thread, shareds_offset +
1562 task = KMP_TASKDATA_TO_TASK(taskdata);
1566 KMP_DEBUG_ASSERT((((kmp_uintptr_t)taskdata) & (sizeof(double) - 1)) == 0);
1569 KMP_DEBUG_ASSERT((((kmp_uintptr_t)taskdata) & (sizeof(_Quad) - 1)) == 0);
1574 task->shareds = &((char *)taskdata)[shareds_offset];
1584 taskdata->td_task_id = KMP_GEN_TASK_ID();
1585 taskdata->td_team = thread->th.th_team;
1586 taskdata->td_alloc_thread = thread;
1587 taskdata->td_parent = parent_task;
1588 taskdata->td_level = parent_task->td_level + 1; // increment nesting level
1589 KMP_ATOMIC_ST_RLX(&taskdata->td_untied_count, 0);
1590 taskdata->td_ident = loc_ref;
1591 taskdata->td_taskwait_ident = NULL;
1592 taskdata->td_taskwait_counter = 0;
1593 taskdata->td_taskwait_thread = 0;
1594 KMP_DEBUG_ASSERT(taskdata->td_parent != NULL);
1597 copy_icvs(&taskdata->td_icvs, &taskdata->td_parent->td_icvs);
1599 taskdata->td_flags = *flags;
1600 taskdata->td_task_team = thread->th.th_task_team;
1601 taskdata->td_size_alloc = shareds_offset + sizeof_shareds;
1602 taskdata->td_flags.tasktype = TASK_EXPLICIT;
1607 taskdata->td_team = shadow_thread->th.th_team;
1608 taskdata->td_task_team = shadow_thread->th.th_task_team;
1612 taskdata->td_flags.tasking_ser = (__kmp_tasking_mode == tskm_immediate_exec);
1615 taskdata->td_flags.team_serial = (team->t.t_serialized) ? 1 : 0;
1621 taskdata->td_flags.task_serial =
1622 (parent_task->td_flags.final || taskdata->td_flags.team_serial ||
1623 taskdata->td_flags.tasking_ser || flags->merged_if0);
1625 taskdata->td_flags.started = 0;
1626 taskdata->td_flags.executing = 0;
1627 taskdata->td_flags.complete = 0;
1628 taskdata->td_flags.freed = 0;
1630 taskdata->td_flags.onced = 0;
1632 KMP_ATOMIC_ST_RLX(&taskdata->td_incomplete_child_tasks, 0);
1634 KMP_ATOMIC_ST_RLX(&taskdata->td_allocated_child_tasks, 1);
1635 taskdata->td_taskgroup =
1637 taskdata->td_dephash = NULL;
1638 taskdata->td_depnode = NULL;
1639 taskdata->td_target_data.async_handle = NULL;
1641 taskdata->td_last_tied = NULL; // will be set when the task is scheduled
1643 taskdata->td_last_tied = taskdata;
1644 taskdata->td_allow_completion_event.type = KMP_EVENT_UNINITIALIZED;
1647 __ompt_task_init(taskdata, gtid);
1651 if (__kmp_track_children_task(taskdata)) {
1657 if (taskdata->td_parent->td_flags.tasktype == TASK_EXPLICIT) {
1658 KMP_ATOMIC_INC(&taskdata->td_parent->td_allocated_child_tasks);
1661 taskdata->td_flags.task_serial = FALSE;
1671 taskdata->is_taskgraph = 1;
1672 taskdata->tdg = __kmp_global_tdgs[__kmp_curr_tdg_idx];
1673 taskdata->td_task_id = KMP_ATOMIC_INC(&__kmp_tdg_task_id);
1677 gtid, taskdata, taskdata->td_parent));
1754 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
1759 gtid, taskdata, current_task));
1761 if (UNLIKELY(taskdata->td_flags.proxy == TASK_PROXY &&
1762 taskdata->td_flags.complete == 1)) {
1768 gtid, taskdata));
1774 gtid, taskdata, current_task));
1791 taskdata->ompt_task_info.frame.exit_frame.ptr = OMPT_GET_FRAME_ADDRESS(0);
1796 if (taskdata->td_flags.proxy != TASK_PROXY) {
1806 kmp_taskgroup_t *taskgroup = taskdata->td_taskgroup;
1830 if (taskdata->td_flags.tiedness == TASK_UNTIED) {
1831 taskdata->td_last_tied = current_task->td_last_tied;
1832 KMP_DEBUG_ASSERT(taskdata->td_last_tied);
1865 taskdata->ompt_task_info.dispatch_chunk.iterations > 0)) {
1867 instance.ptr = &(taskdata->ompt_task_info.dispatch_chunk);
1870 &(team_info->parallel_data), &(taskdata->ompt_task_info.task_data),
1872 taskdata->ompt_task_info.dispatch_chunk = {0, 0};
1884 __kmp_forkjoin_frames_mode == 3 && !taskdata->td_flags.task_serial &&
1894 KMP_FSYNC_ACQUIRED(taskdata); // acquired self (new task)
1898 if (taskdata->td_target_data.async_handle != NULL) {
1903 tgt_target_nowait_query(&taskdata->td_target_data.async_handle);
1908 if (taskdata->td_flags.native) {
1923 KMP_FSYNC_CANCEL(taskdata); // destroy self (just executed)
1924 KMP_FSYNC_RELEASING(taskdata->td_parent); // releasing parent
1934 if (taskdata->td_flags.proxy != TASK_PROXY) {
1938 if (taskdata->td_flags.tiedness == TASK_TIED) {
1939 taskdata->ompt_task_info.frame.exit_frame = ompt_data_none;
1950 gtid, taskdata, current_task));
2220 kmp_taskdata_t *taskdata = nullptr; local
2230 taskdata = thread->th.th_current_task;
2237 my_task_data = &(taskdata->ompt_task_info.task_data);
2240 taskdata->ompt_task_info.frame.enter_frame.ptr = frame_address;
2261 taskdata->td_taskwait_counter += 1;
2262 taskdata->td_taskwait_ident = loc_ref;
2263 taskdata->td_taskwait_thread = gtid + 1;
2273 !taskdata->td_flags.team_serial && !taskdata->td_flags.final;
2286 &(taskdata->td_incomplete_child_tasks)),
2288 while (KMP_ATOMIC_LD_ACQ(&taskdata->td_incomplete_child_tasks) != 0) {
2296 KMP_FSYNC_ACQUIRED(taskdata); // acquire self - sync with children
2301 taskdata->td_taskwait_thread = -taskdata->td_taskwait_thread;
2315 taskdata->ompt_task_info.frame.enter_frame = ompt_data_none;
2322 gtid, taskdata));
2352 kmp_taskdata_t *taskdata = NULL; local
2365 taskdata = thread->th.th_current_task;
2372 taskdata->td_taskwait_counter += 1;
2373 taskdata->td_taskwait_ident = loc_ref;
2374 taskdata->td_taskwait_thread = gtid + 1;
2382 if (!taskdata->td_flags.team_serial) {
2407 taskdata->td_taskwait_thread = -taskdata->td_taskwait_thread;
2412 gtid, taskdata));
2875 kmp_taskdata_t *taskdata = thread->th.th_current_task; local
2881 tg_new->parent = taskdata->td_taskgroup;
2885 taskdata->td_taskgroup = tg_new;
2893 ompt_data_t my_task_data = taskdata->ompt_task_info.task_data;
2909 kmp_taskdata_t *taskdata = thread->th.th_current_task; local
2910 kmp_taskgroup_t *taskgroup = taskdata->td_taskgroup;
2920 my_task_data = taskdata->ompt_task_info.task_data;
2935 taskdata->td_taskwait_counter += 1;
2936 taskdata->td_taskwait_ident = loc;
2937 taskdata->td_taskwait_thread = gtid + 1;
2955 if (!taskdata->td_flags.team_serial ||
2967 taskdata->td_taskwait_thread = -taskdata->td_taskwait_thread; // end waiting
2979 KMP_FSYNC_ACQUIRED(taskdata); // acquire self - sync with descendants
3034 taskdata->td_taskgroup = taskgroup->parent;
3038 gtid, taskdata));
3053 kmp_taskdata_t *taskdata; local
3092 taskdata = thread_data->td.td_deque[target];
3093 if (__kmp_task_is_allowed(gtid, is_constrained, taskdata, current)) {
3110 taskdata = NULL;
3113 taskdata = thread_data->td.td_deque[target];
3114 if (__kmp_task_is_allowed(gtid, is_constrained, taskdata, current)) {
3117 taskdata = NULL;
3120 if (taskdata == NULL) {
3145 task = KMP_TASKDATA_TO_TASK(taskdata);
3154 kmp_taskdata_t *taskdata; local
3191 taskdata = thread_data->td.td_deque[tail];
3193 if (!__kmp_task_is_allowed(gtid, is_constrained, taskdata,
3212 gtid, taskdata, thread_data->td.td_deque_ntasks,
3215 task = KMP_TASKDATA_TO_TASK(taskdata);
3228 kmp_taskdata_t *taskdata; local
3272 taskdata = victim_td->td.td_deque[victim_td->td.td_deque_head];
3273 if (__kmp_task_is_allowed(gtid, is_constrained, taskdata, current)) {
3290 taskdata = NULL;
3293 taskdata = victim_td->td.td_deque[target];
3294 if (__kmp_task_is_allowed(gtid, is_constrained, taskdata, current)) {
3297 taskdata = NULL;
3300 if (taskdata == NULL) {
3343 gtid, taskdata, __kmp_gtid_from_thread(victim_thr), task_team,
3346 task = KMP_TASKDATA_TO_TASK(taskdata);
4355 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
4356 kmp_task_team_t *task_team = taskdata->td_task_team;
4359 taskdata, tid));
4372 tid, taskdata));
4381 taskdata, tid));
4403 taskdata, tid));
4416 thread_data->td.td_deque[thread_data->td.td_deque_tail] = taskdata;
4425 taskdata, tid));
4450 static void __kmp_first_top_half_finish_proxy(kmp_taskdata_t *taskdata) { argument
4451 KMP_DEBUG_ASSERT(taskdata->td_flags.tasktype == TASK_EXPLICIT);
4452 KMP_DEBUG_ASSERT(taskdata->td_flags.proxy == TASK_PROXY);
4453 KMP_DEBUG_ASSERT(taskdata->td_flags.complete == 0);
4454 KMP_DEBUG_ASSERT(taskdata->td_flags.freed == 0);
4456 taskdata->td_flags.complete = 1; // mark the task as completed
4458 taskdata->td_flags.onced = 1;
4461 if (taskdata->td_taskgroup)
4462 KMP_ATOMIC_DEC(&taskdata->td_taskgroup->count);
4466 KMP_ATOMIC_OR(&taskdata->td_incomplete_child_tasks, PROXY_TASK_FLAG);
4469 static void __kmp_second_top_half_finish_proxy(kmp_taskdata_t *taskdata) { argument
4475 KMP_ATOMIC_DEC(&taskdata->td_parent->td_incomplete_child_tasks);
4479 KMP_ATOMIC_AND(&taskdata->td_incomplete_child_tasks, ~PROXY_TASK_FLAG);
4483 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(ptask); local
4486 KMP_DEBUG_ASSERT(taskdata->td_flags.proxy == TASK_PROXY);
4487 KMP_DEBUG_ASSERT(taskdata->td_flags.complete ==
4492 while ((KMP_ATOMIC_LD_ACQ(&taskdata->td_incomplete_child_tasks) &
4496 __kmp_release_deps(gtid, taskdata);
4497 __kmp_free_task_and_ancestors(gtid, taskdata, thread);
4510 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(ptask); local
4513 gtid, taskdata));
4515 KMP_DEBUG_ASSERT(taskdata->td_flags.proxy == TASK_PROXY);
4517 __kmp_first_top_half_finish_proxy(taskdata);
4518 __kmp_second_top_half_finish_proxy(taskdata);
4523 gtid, taskdata));
4528 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(ptask); local
4532 kmp_team_t *team = taskdata->td_team;
4574 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(ptask); local
4579 taskdata));
4581 KMP_DEBUG_ASSERT(taskdata->td_flags.proxy == TASK_PROXY);
4583 __kmp_first_top_half_finish_proxy(taskdata);
4587 __kmp_second_top_half_finish_proxy(taskdata);
4592 taskdata));
4609 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(ptask); local
4617 if (taskdata->td_flags.proxy == TASK_PROXY) {
4639 kmp_team_t *team = taskdata->td_team;
4667 kmp_taskdata_t *taskdata; local
4684 taskdata = (kmp_taskdata_t *)__kmp_fast_allocate(thread, task_size);
4686 taskdata = (kmp_taskdata_t *)__kmp_thread_malloc(thread, task_size);
4688 KMP_MEMCPY(taskdata, taskdata_src, task_size);
4690 task = KMP_TASKDATA_TO_TASK(taskdata);
4694 if (!taskdata->is_taskgraph || taskloop_recur)
4695 taskdata->td_task_id = KMP_GEN_TASK_ID();
4696 else if (taskdata->is_taskgraph &&
4698 taskdata->td_task_id = KMP_ATOMIC_INC(&__kmp_tdg_task_id);
4700 taskdata->td_task_id = KMP_GEN_TASK_ID();
4704 task->shareds = &((char *)taskdata)[shareds_offset];
4708 taskdata->td_alloc_thread = thread;
4709 taskdata->td_parent = parent_task;
4711 taskdata->td_taskgroup = parent_task->td_taskgroup;
4714 if (taskdata->td_flags.tiedness == TASK_TIED)
4715 taskdata->td_last_tied = taskdata;
4719 if (!(taskdata->td_flags.team_serial || taskdata->td_flags.tasking_ser)) {
4725 if (taskdata->td_parent->td_flags.tasktype == TASK_EXPLICIT)
4726 KMP_ATOMIC_INC(&taskdata->td_parent->td_allocated_child_tasks);
4731 thread, taskdata, taskdata->td_parent));
4734 __ompt_task_init(taskdata, thread->th.th_info.ds.ds_gtid);
4752 const kmp_taskdata_t *taskdata; member in kmp_taskloop_bounds_t
4758 : task(_task), taskdata(KMP_TASK_TO_TASKDATA(task)),
4765 : task(_task), taskdata(KMP_TASK_TO_TASKDATA(_task)),
4773 if (!taskdata->td_flags.native) {
4777 if (taskdata->td_size_loop_bounds == 4) {
4786 (void)taskdata;
4795 if (!taskdata->td_flags.native) {
4799 if (taskdata->td_size_loop_bounds == 4) {
4815 if (!taskdata->td_flags.native) {
4819 if (taskdata->td_size_loop_bounds == 4) {
4834 if (!taskdata->td_flags.native) {
4838 if (taskdata->td_size_loop_bounds == 4) {
5025 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
5030 gtid, taskdata, num_tasks, grainsize, extras, last_chunk, *lb, *ub,
5081 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
5087 gtid, taskdata, num_tasks, grainsize, extras, last_chunk, *lb, *ub,
5146 thread->th.th_current_task = taskdata->td_parent;
5171 new_task_data->tdg = taskdata->tdg;
5205 kmp_taskdata_t *taskdata = KMP_TASK_TO_TASKDATA(task); local
5234 gtid, taskdata, lower, upper, st, grainsize, sched, modifier,
5317 taskdata->td_flags.task_serial = 1;
5318 taskdata->td_flags.tiedness = TASK_TIED; // AC: serial task cannot be untied
5328 } else if (num_tasks > num_tasks_min && !taskdata->td_flags.native) {
5436 kmp_taskdata_t *taskdata = thread->th.th_current_task; local
5438 if (!taskdata)
5441 return &taskdata->td_target_data.async_handle;
5457 kmp_taskdata_t *taskdata = thread->th.th_current_task; local
5459 if (!taskdata)
5462 return taskdata->td_task_team != NULL;