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

References

projects/openmp/runtime/src/kmp_runtime.cpp
 4890     team = master->th.th_team;
 4891     level = team->t.t_active_level;
 4895               team->t.t_pkfn ==
 4898                   team->t.t_level)) { // or nested parallel inside the teams
 4917     team = hot_teams[level].hot_team;
 4932     if (team->t.t_nproc == new_nproc) { // Check changes in number of threads
 4936       if (team->t.t_size_changed == -1) {
 4937         team->t.t_size_changed = 1;
 4939         KMP_CHECK_UPDATE(team->t.t_size_changed, 0);
 4945       KMP_CHECK_UPDATE(team->t.t_sched.sched, new_sched.sched);
 4947       __kmp_reinitialize_team(team, new_icvs,
 4952       __kmp_push_current_task_to_thread(team->t.t_threads[0], team, 0);
 4952       __kmp_push_current_task_to_thread(team->t.t_threads[0], team, 0);
 4955       if ((team->t.t_size_changed == 0) &&
 4956           (team->t.t_proc_bind == new_proc_bind)) {
 4959               team, 1); // add flag to update only master for spread
 4966         KMP_CHECK_UPDATE(team->t.t_proc_bind, new_proc_bind);
 4967         __kmp_partition_places(team);
 4972     } else if (team->t.t_nproc > new_nproc) {
 4977       team->t.t_size_changed = 1;
 4986         for (f = new_nproc; f < team->t.t_nproc; f++) {
 4991             team->t.t_threads[f]->th.th_task_team = NULL;
 4993           __kmp_free_thread(team->t.t_threads[f]);
 4994           team->t.t_threads[f] = NULL;
 5001         for (f = new_nproc; f < team->t.t_nproc; ++f) {
 5003           kmp_balign_t *balign = team->t.t_threads[f]->th.th_bar;
 5013       team->t.t_nproc = new_nproc;
 5015       KMP_CHECK_UPDATE(team->t.t_sched.sched, new_icvs->sched.sched);
 5016       __kmp_reinitialize_team(team, new_icvs,
 5021         team->t.t_threads[f]->th.th_team_nproc = new_nproc;
 5029       __kmp_push_current_task_to_thread(team->t.t_threads[0], team, 0);
 5029       __kmp_push_current_task_to_thread(team->t.t_threads[0], team, 0);
 5039       KMP_CHECK_UPDATE(team->t.t_proc_bind, new_proc_bind);
 5041       __kmp_partition_places(team);
 5055       team->t.t_size_changed = 1;
 5061       kmp_info_t **other_threads = team->t.t_threads;
 5062       for (f = team->t.t_nproc; f < avail_threads; ++f) {
 5068           balign[b].bb.b_arrived = team->t.t_bar[b].b_arrived;
 5079         team->t.t_nproc = new_nproc; // just get reserved threads involved
 5082         team->t.t_nproc =
 5087         if (team->t.t_max_nproc < new_nproc) {
 5089           __kmp_reallocate_team_arrays(team, new_nproc);
 5090           __kmp_reinitialize_team(team, new_icvs, NULL);
 5102         for (f = team->t.t_nproc; f < new_nproc; f++) {
 5103           kmp_info_t *new_worker = __kmp_allocate_thread(root, team, f);
 5105           team->t.t_threads[f] = new_worker;
 5118               balign[b].bb.b_arrived = team->t.t_bar[b].b_arrived;
 5139       int old_nproc = team->t.t_nproc; // save old value and use to update only
 5141       __kmp_initialize_team(team, new_nproc, new_icvs,
 5146       for (f = 0; f < team->t.t_nproc; ++f)
 5147         __kmp_initialize_info(team->t.t_threads[f], team, f,
 5147         __kmp_initialize_info(team->t.t_threads[f], team, f,
 5148                               __kmp_gtid_from_tid(f, team));
 5156         for (f = old_nproc; f < team->t.t_nproc; ++f)
 5157           team->t.t_threads[f]->th.th_task_state =
 5158               team->t.t_threads[0]->th.th_task_state_memo_stack[level];
 5161             team->t.t_threads[0]->th.th_task_state; // copy master's state
 5162         for (f = old_nproc; f < team->t.t_nproc; ++f)
 5163           team->t.t_threads[f]->th.th_task_state = old_state;
 5174       KMP_CHECK_UPDATE(team->t.t_proc_bind, new_proc_bind);
 5176       __kmp_partition_places(team);
 5180     kmp_info_t *master = team->t.t_threads[0];
 5184         kmp_info_t *thr = team->t.t_threads[f];
 5195         kmp_info_t *thr = team->t.t_threads[f];
 5199           balign[b].bb.b_arrived = team->t.t_bar[b].b_arrived;
 5210     __kmp_alloc_argv_entries(argc, team, TRUE);
 5211     KMP_CHECK_UPDATE(team->t.t_argc, argc);
 5226     __ompt_team_assign_id(team, ompt_parallel_data);
 5231     return team;
 5236   for (team = CCAST(kmp_team_t *, __kmp_team_pool); (team);) {
 5236   for (team = CCAST(kmp_team_t *, __kmp_team_pool); (team);) {
 5239     if (team->t.t_max_nproc >= max_nproc) {
 5241       __kmp_team_pool = team->t.t_next_pool;
 5244       __kmp_initialize_team(team, new_nproc, new_icvs, NULL);
 5249       team->t.t_task_team[0] = NULL;
 5250       team->t.t_task_team[1] = NULL;
 5253       __kmp_alloc_argv_entries(argc, team, TRUE);
 5254       KMP_CHECK_UPDATE(team->t.t_argc, argc);
 5262           team->t.t_bar[b].b_arrived = KMP_INIT_BARRIER_STATE;
 5270       team->t.t_proc_bind = new_proc_bind;
 5276       __ompt_team_assign_id(team, ompt_parallel_data);
 5281       return team;
 5288     team = __kmp_reap_team(team);
 5288     team = __kmp_reap_team(team);
 5289     __kmp_team_pool = team;
 5294   team = (kmp_team_t *)__kmp_allocate(sizeof(kmp_team_t));
 5297   team->t.t_max_nproc = max_nproc;
 5300   __kmp_allocate_team_arrays(team, max_nproc);
 5303   __kmp_initialize_team(team, new_nproc, new_icvs, NULL);
 5308   team->t.t_task_team[0] = NULL; // to be removed, as __kmp_allocate zeroes
 5310   team->t.t_task_team[1] = NULL; // to be removed, as __kmp_allocate zeroes
 5314     __kmp_print_team_storage_map("team", team, team->t.t_id, new_nproc);
 5314     __kmp_print_team_storage_map("team", team, team->t.t_id, new_nproc);
 5318   __kmp_alloc_argv_entries(argc, team, FALSE);
 5319   team->t.t_argc = argc;
 5327       team->t.t_bar[b].b_arrived = KMP_INIT_BARRIER_STATE;
 5335   team->t.t_proc_bind = new_proc_bind;
 5338   __ompt_team_assign_id(team, ompt_parallel_data);
 5339   team->t.ompt_serialized_team_info = NULL;
 5347   return team;