Lines Matching refs:master_th
940 kmp_info_t *master_th, int master_gtid, in __kmp_fork_team_threads() argument
950 master_th->th.th_info.ds.ds_tid = 0; in __kmp_fork_team_threads()
951 master_th->th.th_team = team; in __kmp_fork_team_threads()
952 master_th->th.th_team_nproc = team->t.t_nproc; in __kmp_fork_team_threads()
953 master_th->th.th_team_master = master_th; in __kmp_fork_team_threads()
954 master_th->th.th_team_serialized = FALSE; in __kmp_fork_team_threads()
955 master_th->th.th_dispatch = &team->t.t_dispatch[0]; in __kmp_fork_team_threads()
960 kmp_hot_team_ptr_t *hot_teams = master_th->th.th_hot_teams; in __kmp_fork_team_threads()
964 if (master_th->th.th_teams_microtask) { // are we inside the teams? in __kmp_fork_team_threads()
965 if (master_th->th.th_teams_size.nteams > 1) { in __kmp_fork_team_threads()
970 master_th->th.th_teams_level == team->t.t_level) { in __kmp_fork_team_threads()
995 team->t.t_threads[0] = master_th; in __kmp_fork_team_threads()
996 __kmp_initialize_info(master_th, team, 0, master_gtid); in __kmp_fork_team_threads()
1013 thr->th.th_teams_microtask = master_th->th.th_teams_microtask; in __kmp_fork_team_threads()
1014 thr->th.th_teams_level = master_th->th.th_teams_level; in __kmp_fork_team_threads()
1015 thr->th.th_teams_size = master_th->th.th_teams_size; in __kmp_fork_team_threads()
1386 static inline bool __kmp_is_fork_in_teams(kmp_info_t *master_th, in __kmp_is_fork_in_teams() argument
1389 return (master_th->th.th_teams_microtask && ap && in __kmp_is_fork_in_teams()
1406 kmp_int32 argc, kmp_info_t *master_th, kmp_root_t *root, in __kmp_fork_in_teams() argument
1424 if (parent_team == master_th->th.th_serial_team) { in __kmp_fork_in_teams()
1447 __ompt_lw_taskteam_init(&lw_taskteam, master_th, gtid, in __kmp_fork_in_teams()
1451 __ompt_lw_taskteam_link(&lw_taskteam, master_th, 0); in __kmp_fork_in_teams()
1455 implicit_task_data = OMPT_CUR_TASK_DATA(master_th); in __kmp_fork_in_teams()
1457 OMPT_CUR_TASK_INFO(master_th)->thread_num = __kmp_tid_from_gtid(gtid); in __kmp_fork_in_teams()
1459 ompt_scope_begin, OMPT_CUR_TEAM_DATA(master_th), implicit_task_data, in __kmp_fork_in_teams()
1460 1, OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); in __kmp_fork_in_teams()
1464 master_th->th.ompt_thread_info.state = ompt_state_work_parallel; in __kmp_fork_in_teams()
1488 OMPT_CUR_TASK_INFO(master_th)->frame.exit_frame = ompt_data_none; in __kmp_fork_in_teams()
1492 OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); in __kmp_fork_in_teams()
1494 ompt_parallel_data = *OMPT_CUR_TEAM_DATA(master_th); in __kmp_fork_in_teams()
1495 __ompt_lw_taskteam_unlink(master_th); in __kmp_fork_in_teams()
1498 &ompt_parallel_data, OMPT_CUR_TASK_DATA(master_th), in __kmp_fork_in_teams()
1501 master_th->th.ompt_thread_info.state = ompt_state_overhead; in __kmp_fork_in_teams()
1512 parent_team->t.t_def_allocator = master_th->th.th_def_allocator; // save in __kmp_fork_in_teams()
1519 master_th->th.th_teams_size.nth = parent_team->t.t_nproc; in __kmp_fork_in_teams()
1524 __ompt_lw_taskteam_init(&lw_taskteam, master_th, gtid, &ompt_parallel_data, in __kmp_fork_in_teams()
1526 __ompt_lw_taskteam_link(&lw_taskteam, master_th, 1, true); in __kmp_fork_in_teams()
1532 if (master_set_numthreads <= master_th->th.th_teams_size.nth) { in __kmp_fork_in_teams()
1537 int old_proc = master_th->th.th_teams_size.nth; in __kmp_fork_in_teams()
1548 master_th->th.th_set_nproc = 0; in __kmp_fork_in_teams()
1561 kmp_proc_bind_t proc_bind = master_th->th.th_set_proc_bind; in __kmp_fork_in_teams()
1564 if (master_th->th.th_current_task->td_icvs.proc_bind == proc_bind_false) { in __kmp_fork_in_teams()
1569 proc_bind = master_th->th.th_current_task->td_icvs.proc_bind; in __kmp_fork_in_teams()
1577 master_th->th.th_current_task->td_icvs.proc_bind)) { in __kmp_fork_in_teams()
1584 master_th->th.th_current_task->td_icvs.proc_bind != proc_bind_icv) { in __kmp_fork_in_teams()
1586 for (i = 0; i < master_th->th.th_team_nproc; ++i) { in __kmp_fork_in_teams()
1591 master_th->th.th_set_proc_bind = proc_bind_default; in __kmp_fork_in_teams()
1598 && master_th->th.th_teams_size.nteams == 1) { in __kmp_fork_in_teams()
1600 master_th->th.th_frame_time = tmp_time; in __kmp_fork_in_teams()
1615 root, parent_team, master_th, gtid)); in __kmp_fork_in_teams()
1619 root, parent_team, master_th, gtid)); in __kmp_fork_in_teams()
1644 kmp_info_t *master_th, kmp_team_t *parent_team, in __kmp_serial_fork_call() argument
1669 master_th->th.th_serial_team->t.t_pkfn = microtask; in __kmp_serial_fork_call()
1674 master_th->th.th_serial_team->t.t_ident = loc; in __kmp_serial_fork_call()
1677 master_th->th.th_serial_team->t.t_level--; in __kmp_serial_fork_call()
1687 __ompt_lw_taskteam_init(&lw_taskteam, master_th, gtid, in __kmp_serial_fork_call()
1690 __ompt_lw_taskteam_link(&lw_taskteam, master_th, 0); in __kmp_serial_fork_call()
1692 task_info = OMPT_CUR_TASK_INFO(master_th); in __kmp_serial_fork_call()
1695 OMPT_CUR_TASK_INFO(master_th)->thread_num = __kmp_tid_from_gtid(gtid); in __kmp_serial_fork_call()
1697 ompt_scope_begin, OMPT_CUR_TEAM_DATA(master_th), in __kmp_serial_fork_call()
1699 OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); in __kmp_serial_fork_call()
1703 master_th->th.ompt_thread_info.state = ompt_state_work_parallel; in __kmp_serial_fork_call()
1726 OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); in __kmp_serial_fork_call()
1728 *ompt_parallel_data = *OMPT_CUR_TEAM_DATA(master_th); in __kmp_serial_fork_call()
1729 __ompt_lw_taskteam_unlink(master_th); in __kmp_serial_fork_call()
1735 master_th->th.ompt_thread_info.state = ompt_state_overhead; in __kmp_serial_fork_call()
1739 KMP_DEBUG_ASSERT(master_th->th.th_team == master_th->th.th_serial_team); in __kmp_serial_fork_call()
1740 team = master_th->th.th_team; in __kmp_serial_fork_call()
1761 ompt_task_info_t *task_info = OMPT_CUR_TASK_INFO(master_th); in __kmp_serial_fork_call()
1765 OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_initial); in __kmp_serial_fork_call()
1773 master_th->th.ompt_thread_info.state = ompt_state_overhead; in __kmp_serial_fork_call()
1790 __ompt_lw_taskteam_init(&lw_taskteam, master_th, gtid, in __kmp_serial_fork_call()
1792 __ompt_lw_taskteam_link(&lw_taskteam, master_th, 0); in __kmp_serial_fork_call()
1794 task_info = OMPT_CUR_TASK_INFO(master_th); in __kmp_serial_fork_call()
1798 implicit_task_data = OMPT_CUR_TASK_DATA(master_th); in __kmp_serial_fork_call()
1801 ompt_scope_begin, OMPT_CUR_TEAM_DATA(master_th), in __kmp_serial_fork_call()
1804 OMPT_CUR_TASK_INFO(master_th)->thread_num = __kmp_tid_from_gtid(gtid); in __kmp_serial_fork_call()
1808 master_th->th.ompt_thread_info.state = ompt_state_work_parallel; in __kmp_serial_fork_call()
1831 OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); in __kmp_serial_fork_call()
1834 *ompt_parallel_data = *OMPT_CUR_TEAM_DATA(master_th); in __kmp_serial_fork_call()
1835 __ompt_lw_taskteam_unlink(master_th); in __kmp_serial_fork_call()
1841 master_th->th.ompt_thread_info.state = ompt_state_overhead; in __kmp_serial_fork_call()
1849 __ompt_lw_taskteam_init(&lwt, master_th, gtid, ompt_parallel_data, in __kmp_serial_fork_call()
1853 __ompt_lw_taskteam_link(&lwt, master_th, 1); in __kmp_serial_fork_call()
1883 kmp_info_t *master_th; in __kmp_fork_call() local
1919 master_th = __kmp_threads[gtid]; in __kmp_fork_call()
1921 parent_team = master_th->th.th_team; in __kmp_fork_call()
1922 master_tid = master_th->th.th_info.ds.ds_tid; in __kmp_fork_call()
1923 master_this_cons = master_th->th.th_local.this_construct; in __kmp_fork_call()
1924 root = master_th->th.th_root; in __kmp_fork_call()
1926 master_set_numthreads = master_th->th.th_set_nproc; in __kmp_fork_call()
1928 master_th->th.th_current_task->td_icvs.task_thread_limit; in __kmp_fork_call()
1951 teams_level = master_th->th.th_teams_level; in __kmp_fork_call()
1953 p_hot_teams = &master_th->th.th_hot_teams; in __kmp_fork_call()
1977 master_th->th.ompt_thread_info.state = ompt_state_overhead; in __kmp_fork_call()
1981 master_th->th.th_ident = loc; in __kmp_fork_call()
1984 if (__kmp_is_fork_in_teams(master_th, microtask, level, teams_level, ap)) { in __kmp_fork_call()
1985 return __kmp_fork_in_teams(loc, gtid, parent_team, argc, master_th, root, in __kmp_fork_call()
1996 KMP_DEBUG_ASSERT(master_th->th.th_task_team == in __kmp_fork_call()
1997 parent_team->t.t_task_team[master_th->th.th_task_state]); in __kmp_fork_call()
2010 master_th->th.th_current_task->td_icvs.max_active_levels)) || in __kmp_fork_call()
2046 master_th->th.th_set_nproc = 0; in __kmp_fork_call()
2050 invoker, master_th, parent_team, in __kmp_fork_call()
2062 parent_team->t.t_active_level, master_th, in __kmp_fork_call()
2063 master_th->th.th_current_task, in __kmp_fork_call()
2064 master_th->th.th_current_task->td_icvs.max_active_levels)); in __kmp_fork_call()
2068 master_th->th.th_current_task->td_flags.executing = 0; in __kmp_fork_call()
2070 if (!master_th->th.th_teams_microtask || level > teams_level) { in __kmp_fork_call()
2076 int nthreads_icv = master_th->th.th_current_task->td_icvs.nproc; in __kmp_fork_call()
2085 kmp_proc_bind_t proc_bind = master_th->th.th_set_proc_bind; in __kmp_fork_call()
2088 if (master_th->th.th_current_task->td_icvs.proc_bind == proc_bind_false) { in __kmp_fork_call()
2094 proc_bind = master_th->th.th_current_task->td_icvs.proc_bind; in __kmp_fork_call()
2097 if (master_th->th.th_teams_microtask && in __kmp_fork_call()
2107 master_th->th.th_current_task->td_icvs.proc_bind)) { in __kmp_fork_call()
2110 if (!master_th->th.th_teams_microtask || in __kmp_fork_call()
2117 master_th->th.th_set_proc_bind = proc_bind_default; in __kmp_fork_call()
2121 copy_icvs(&new_icvs, &master_th->th.th_current_task->td_icvs); in __kmp_fork_call()
2137 argc USE_NESTED_HOT_ARG(master_th)); in __kmp_fork_call()
2148 &master_th->th.th_current_task->td_icvs, in __kmp_fork_call()
2149 argc USE_NESTED_HOT_ARG(master_th)); in __kmp_fork_call()
2152 &master_th->th.th_current_task->td_icvs); in __kmp_fork_call()
2169 if (!master_th->th.th_teams_microtask || level > teams_level) { in __kmp_fork_call()
2186 KMP_CHECK_UPDATE(team->t.t_def_allocator, master_th->th.th_def_allocator); in __kmp_fork_call()
2198 KMP_DEBUG_ASSERT(master_th->th.th_task_team == in __kmp_fork_call()
2199 parent_team->t.t_task_team[master_th->th.th_task_state]); in __kmp_fork_call()
2202 __kmp_gtid_from_thread(master_th), in __kmp_fork_call()
2203 master_th->th.th_task_team, parent_team, in __kmp_fork_call()
2204 team->t.t_task_team[master_th->th.th_task_state], team)); in __kmp_fork_call()
2206 if (active_level || master_th->th.th_task_team) { in __kmp_fork_call()
2208 KMP_DEBUG_ASSERT(master_th->th.th_task_state_memo_stack); in __kmp_fork_call()
2209 if (master_th->th.th_task_state_top >= in __kmp_fork_call()
2210 master_th->th.th_task_state_stack_sz) { // increase size in __kmp_fork_call()
2211 kmp_uint32 new_size = 2 * master_th->th.th_task_state_stack_sz; in __kmp_fork_call()
2215 for (i = 0; i < master_th->th.th_task_state_stack_sz; ++i) { in __kmp_fork_call()
2216 new_stack[i] = master_th->th.th_task_state_memo_stack[i]; in __kmp_fork_call()
2218 for (i = master_th->th.th_task_state_stack_sz; i < new_size; in __kmp_fork_call()
2222 old_stack = master_th->th.th_task_state_memo_stack; in __kmp_fork_call()
2223 master_th->th.th_task_state_memo_stack = new_stack; in __kmp_fork_call()
2224 master_th->th.th_task_state_stack_sz = new_size; in __kmp_fork_call()
2228 master_th->th in __kmp_fork_call()
2229 .th_task_state_memo_stack[master_th->th.th_task_state_top] = in __kmp_fork_call()
2230 master_th->th.th_task_state; in __kmp_fork_call()
2231 master_th->th.th_task_state_top++; in __kmp_fork_call()
2233 if (master_th->th.th_hot_teams && in __kmp_fork_call()
2235 team == master_th->th.th_hot_teams[active_level].hot_team) { in __kmp_fork_call()
2237 master_th->th.th_task_state = in __kmp_fork_call()
2238 master_th->th in __kmp_fork_call()
2239 .th_task_state_memo_stack[master_th->th.th_task_state_top]; in __kmp_fork_call()
2242 master_th->th.th_task_state = 0; in __kmp_fork_call()
2248 KMP_DEBUG_ASSERT((master_th->th.th_task_team == NULL) || in __kmp_fork_call()
2284 __kmp_fork_team_threads(root, team, master_th, gtid, !ap); in __kmp_fork_call()
2286 &master_th->th.th_current_task->td_icvs, loc); in __kmp_fork_call()
2289 master_th->th.ompt_thread_info.state = ompt_state_work_parallel; in __kmp_fork_call()
2296 && !master_th->th.th_teams_microtask) { // not in teams construct in __kmp_fork_call()
2305 master_th->th.th_frame_time = tmp_time; in __kmp_fork_call()
2324 root, team, master_th, gtid)); in __kmp_fork_call()
2349 root, team, master_th, gtid)); in __kmp_fork_call()
2388 master_th->th.ompt_thread_info.state = ompt_state_overhead; in __kmp_fork_call()
2428 kmp_info_t *master_th; in __kmp_join_call() local
2435 master_th = __kmp_threads[gtid]; in __kmp_join_call()
2436 root = master_th->th.th_root; in __kmp_join_call()
2437 team = master_th->th.th_team; in __kmp_join_call()
2440 master_th->th.th_ident = loc; in __kmp_join_call()
2449 master_th->th.ompt_thread_info.state = ompt_state_overhead; in __kmp_join_call()
2457 __kmp_gtid_from_thread(master_th), team, in __kmp_join_call()
2458 team->t.t_task_team[master_th->th.th_task_state], in __kmp_join_call()
2459 master_th->th.th_task_team)); in __kmp_join_call()
2460 KMP_DEBUG_ASSERT(master_th->th.th_task_team == in __kmp_join_call()
2461 team->t.t_task_team[master_th->th.th_task_state]); in __kmp_join_call()
2466 if (master_th->th.th_teams_microtask) { in __kmp_join_call()
2469 int tlevel = master_th->th.th_teams_level; in __kmp_join_call()
2486 __ompt_lw_taskteam_unlink(master_th); in __kmp_join_call()
2488 __kmp_join_restore_state(master_th, parent_team); in __kmp_join_call()
2510 master_th->th.th_task_state = in __kmp_join_call()
2534 (!master_th->th.th_teams_microtask || /* not in teams construct */ in __kmp_join_call()
2535 master_th->th.th_teams_size.nteams == 1)) { in __kmp_join_call()
2536 master_th->th.th_ident = loc; in __kmp_join_call()
2542 master_th->th.th_frame_time, 0, loc, in __kmp_join_call()
2543 master_th->th.th_team_nproc, 1); in __kmp_join_call()
2553 master_th->th.th_first_place = team->t.t_first_place; in __kmp_join_call()
2554 master_th->th.th_last_place = team->t.t_last_place; in __kmp_join_call()
2558 if (master_th->th.th_teams_microtask && !exit_teams && in __kmp_join_call()
2560 team->t.t_level == master_th->th.th_teams_level + 1) { in __kmp_join_call()
2572 OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); in __kmp_join_call()
2576 ompt_parallel_data = *OMPT_CUR_TEAM_DATA(master_th); in __kmp_join_call()
2577 __ompt_lw_taskteam_unlink(master_th); in __kmp_join_call()
2589 if (master_th->th.th_team_nproc < master_th->th.th_teams_size.nth) { in __kmp_join_call()
2590 int old_num = master_th->th.th_team_nproc; in __kmp_join_call()
2591 int new_num = master_th->th.th_teams_size.nth; in __kmp_join_call()
2611 other_threads[i]->th.th_task_state = master_th->th.th_task_state; in __kmp_join_call()
2618 __kmp_join_ompt(gtid, master_th, parent_team, &ompt_parallel_data, in __kmp_join_call()
2627 master_th->th.th_info.ds.ds_tid = team->t.t_master_tid; in __kmp_join_call()
2628 master_th->th.th_local.this_construct = team->t.t_master_this_cons; in __kmp_join_call()
2630 master_th->th.th_dispatch = &parent_team->t.t_dispatch[team->t.t_master_tid]; in __kmp_join_call()
2637 if (!master_th->th.th_teams_microtask || in __kmp_join_call()
2638 team->t.t_level > master_th->th.th_teams_level) { in __kmp_join_call()
2654 OMPT_CUR_TASK_INFO(master_th)->thread_num, flags); in __kmp_join_call()
2662 master_th, team)); in __kmp_join_call()
2663 __kmp_pop_current_task_from_thread(master_th); in __kmp_join_call()
2665 master_th->th.th_def_allocator = team->t.t_def_allocator; in __kmp_join_call()
2677 master_th)); // this will free worker threads in __kmp_join_call()
2684 master_th->th.th_team = parent_team; in __kmp_join_call()
2685 master_th->th.th_team_nproc = parent_team->t.t_nproc; in __kmp_join_call()
2686 master_th->th.th_team_master = parent_team->t.t_threads[0]; in __kmp_join_call()
2687 master_th->th.th_team_serialized = parent_team->t.t_serialized; in __kmp_join_call()
2691 parent_team != master_th->th.th_serial_team && in __kmp_join_call()
2694 master_th->th.th_serial_team USE_NESTED_HOT_ARG(NULL)); in __kmp_join_call()
2695 master_th->th.th_serial_team = parent_team; in __kmp_join_call()
2699 if (master_th->th.th_task_state_top > in __kmp_join_call()
2701 KMP_DEBUG_ASSERT(master_th->th.th_task_state_memo_stack); in __kmp_join_call()
2703 master_th->th.th_task_state_memo_stack[master_th->th.th_task_state_top] = in __kmp_join_call()
2704 master_th->th.th_task_state; in __kmp_join_call()
2705 --master_th->th.th_task_state_top; // pop in __kmp_join_call()
2707 master_th->th.th_task_state = in __kmp_join_call()
2708 master_th->th in __kmp_join_call()
2709 .th_task_state_memo_stack[master_th->th.th_task_state_top]; in __kmp_join_call()
2715 master_th->th.th_task_state = 0; in __kmp_join_call()
2718 master_th->th.th_task_team = in __kmp_join_call()
2719 parent_team->t.t_task_team[master_th->th.th_task_state]; in __kmp_join_call()
2722 __kmp_gtid_from_thread(master_th), master_th->th.th_task_team, in __kmp_join_call()
2729 master_th->th.th_current_task->td_flags.executing = 1; in __kmp_join_call()
2734 if (master_th->th.th_team->t.t_level == 0 && __kmp_affinity.flags.reset) { in __kmp_join_call()
2744 __kmp_join_ompt(gtid, master_th, parent_team, parallel_data, flags, in __kmp_join_call()
4818 kmp_info_t *master_th = team->t.t_threads[0]; in __kmp_partition_places() local
4819 KMP_DEBUG_ASSERT(master_th != NULL); in __kmp_partition_places()
4821 int first_place = master_th->th.th_first_place; in __kmp_partition_places()
4822 int last_place = master_th->th.th_last_place; in __kmp_partition_places()
4823 int masters_place = master_th->th.th_current_place; in __kmp_partition_places()