minor fixes. If I start the spawned process manually,
the spawning and retrieving the parent communicator works already. Have to debug now, what is going wrong when starting the processes. This commit was SVN r2902.
Этот коммит содержится в:
родитель
11fc271e69
Коммит
5b03c18c07
@ -273,7 +273,7 @@ int ompi_comm_start_processes (char *command, char **argv, int maxprocs,
|
||||
new_jobid = ompi_name_server.create_jobid();
|
||||
|
||||
/* get the spawn handle to start spawning stuff */
|
||||
spawn_handle = ompi_rte_get_spawn_handle(OMPI_RTE_SPAWN_HIGH_QOS, true);
|
||||
spawn_handle = ompi_rte_get_spawn_handle(OMPI_RTE_SPAWN_FROM_MPI, true);
|
||||
|
||||
/* BWB - fix jobid, procs, and nodes */
|
||||
nodelist = ompi_rte_allocate_resources(spawn_handle, new_jobid, 0, maxprocs);
|
||||
@ -389,10 +389,10 @@ int ompi_comm_dyn_init (void)
|
||||
uint32_t jobid;
|
||||
size_t size;
|
||||
ompi_proc_t **myproc=NULL;
|
||||
char *envvarname, *port_name=NULL;
|
||||
char *envvarname=NULL, *port_name=NULL;
|
||||
char *oob_port=NULL;
|
||||
int tag, root=0, send_first=1;
|
||||
ompi_communicator_t *newcomm;
|
||||
ompi_communicator_t *newcomm=NULL;
|
||||
ompi_process_name_t *port_proc_name=NULL;
|
||||
|
||||
/* get jobid */
|
||||
|
@ -37,6 +37,6 @@ int MPI_Comm_get_parent(MPI_Comm *parent)
|
||||
* This is also the return value required by MPI-2.
|
||||
*/
|
||||
|
||||
*parent = &ompi_mpi_comm_parent;
|
||||
*parent = ompi_mpi_comm_parent;
|
||||
return MPI_SUCCESS;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ int MPI_Comm_spawn(char *command, char **argv, int maxprocs, MPI_Info info,
|
||||
int send_first=0; /* we wait to be contacted */
|
||||
ompi_communicator_t *newcomp;
|
||||
char port_name[MPI_MAX_PORT_NAME];
|
||||
char *tmp_port;
|
||||
|
||||
if ( MPI_PARAM_CHECK ) {
|
||||
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
|
||||
@ -79,6 +80,8 @@ int MPI_Comm_spawn(char *command, char **argv, int maxprocs, MPI_Info info,
|
||||
to the children. */
|
||||
ompi_open_port (port_name);
|
||||
ompi_comm_start_processes (command, argv, maxprocs, info, port_name);
|
||||
tmp_port = ompi_parse_port (port_name, &tag);
|
||||
free(tmp_port);
|
||||
}
|
||||
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user