Changeset 5630
- Timestamp:
- 10/29/09 23:03:39 (4 weeks ago)
- Location:
- mpich2/trunk/src/pm/hydra
- Files:
-
- 5 modified
-
include/hydra_tools.h (modified) (1 diff)
-
include/hydra_utils.h (modified) (1 diff)
-
pm/pmiserv/pmi_proxy_utils.c (modified) (4 diffs)
-
tools/bind/bind.c (modified) (1 diff)
-
utils/launch/launch.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
mpich2/trunk/src/pm/hydra/include/hydra_tools.h
r5472 r5630 13 13 HYD_status HYDT_bind_init(char *binding, char *bindlib); 14 14 void HYDT_bind_finalize(void); 15 HYD_status HYDT_bind_process(int core);16 int HYDT_bind_get_ core_id(intid);15 HYD_status HYDT_bind_process(int proc_unit_id); 16 int HYDT_bind_get_proc_unit_id(int process_id); 17 17 18 18 /* checkpointing */ -
mpich2/trunk/src/pm/hydra/include/hydra_utils.h
r5527 r5630 161 161 162 162 HYD_status HYDU_create_process(char **client_arg, HYD_env_t * env_list, 163 int *in, int *out, int *err, int *pid, int core);164 HYD_status HYDU_fork_and_exit(int core);163 int *in, int *out, int *err, int *pid, int proc_unit_id); 164 HYD_status HYDU_fork_and_exit(int proc_unit_id); 165 165 #if defined HAVE_THREAD_SUPPORT 166 166 HYD_status HYDU_create_thread(void *(*func) (void *), void *args, -
mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_proxy_utils.c
r5474 r5630 479 479 HYD_status HYD_pmcd_pmi_proxy_launch_procs(void) 480 480 { 481 int i, j, arg, stdin_fd, process_id, core, pmi_id;481 int i, j, arg, stdin_fd, process_id, proc_unit_id, pmi_id; 482 482 char *str, *envstr, *list; 483 483 char *client_args[HYD_NUM_TMP_STRINGS]; … … 630 630 client_args[arg++] = NULL; 631 631 632 core = HYDT_bind_get_core_id(process_id);632 proc_unit_id = HYDT_bind_get_proc_unit_id(process_id); 633 633 if (pmi_id == 0) { 634 634 status = HYDU_create_process(client_args, prop_env, … … 636 636 &HYD_pmcd_pmip.downstream.out[process_id], 637 637 &HYD_pmcd_pmip.downstream.err[process_id], 638 &HYD_pmcd_pmip.downstream.pid[process_id], core); 638 &HYD_pmcd_pmip.downstream.pid[process_id], 639 proc_unit_id); 639 640 640 641 HYD_pmcd_pmip.local.stdin_buf_offset = 0; … … 653 654 &HYD_pmcd_pmip.downstream.out[process_id], 654 655 &HYD_pmcd_pmip.downstream.err[process_id], 655 &HYD_pmcd_pmip.downstream.pid[process_id], core); 656 &HYD_pmcd_pmip.downstream.pid[process_id], 657 proc_unit_id); 656 658 } 657 659 HYDU_ERR_POP(status, "create process returned error\n"); -
mpich2/trunk/src/pm/hydra/tools/bind/bind.c
r5629 r5630 188 188 189 189 190 int HYDT_bind_get_ core_id(int id)190 int HYDT_bind_get_proc_unit_id(int id) 191 191 { 192 192 return HYDT_bind_info.bindmap[id % HYDT_bind_info.num_procs]; -
mpich2/trunk/src/pm/hydra/utils/launch/launch.c
r5472 r5630 9 9 10 10 HYD_status HYDU_create_process(char **client_arg, HYD_env_t * env_list, 11 int *in, int *out, int *err, int *pid, int core)11 int *in, int *out, int *err, int *pid, int proc_unit_id) 12 12 { 13 13 int inpipe[2], outpipe[2], errpipe[2], tpid; … … 60 60 } 61 61 62 if ( core>= 0) {63 status = HYDT_bind_process( core);62 if (proc_unit_id >= 0) { 63 status = HYDT_bind_process(proc_unit_id); 64 64 HYDU_ERR_POP(status, "bind process failed\n"); 65 65 } … … 101 101 102 102 103 HYD_status HYDU_fork_and_exit(int core)103 HYD_status HYDU_fork_and_exit(int proc_unit_id) 104 104 { 105 105 pid_t tpid; … … 115 115 close(2); 116 116 117 if ( core>= 0) {118 status = HYDT_bind_process( core);117 if (proc_unit_id >= 0) { 118 status = HYDT_bind_process(proc_unit_id); 119 119 HYDU_ERR_POP(status, "bind process failed\n"); 120 120 }
