Bring singleton comm_spawn online.
This commit was SVN r12081.
Этот коммит содержится в:
родитель
f5b8f1f2f0
Коммит
1f7a5da3ce
@ -352,7 +352,7 @@ ompi_comm_start_processes(int count, char **array_of_commands,
|
|||||||
char *base_prefix;
|
char *base_prefix;
|
||||||
|
|
||||||
orte_std_cntr_t num_apps, ai;
|
orte_std_cntr_t num_apps, ai;
|
||||||
orte_jobid_t new_jobid;
|
orte_jobid_t new_jobid=ORTE_JOBID_INVALID;
|
||||||
orte_app_context_t **apps=NULL;
|
orte_app_context_t **apps=NULL;
|
||||||
|
|
||||||
|
|
||||||
@ -383,8 +383,11 @@ ompi_comm_start_processes(int count, char **array_of_commands,
|
|||||||
/* we'll just use the prefix from the first member of the app_context array.
|
/* we'll just use the prefix from the first member of the app_context array.
|
||||||
* this shouldn't matter as they all should be the same. it could be NULL, of
|
* this shouldn't matter as they all should be the same. it could be NULL, of
|
||||||
* course (user might not have specified it), so we need to protect against that.
|
* course (user might not have specified it), so we need to protect against that.
|
||||||
|
*
|
||||||
|
* It's possible that no app_contexts are returned (e.g., during a comm_spawn
|
||||||
|
* from a singleton), so check first
|
||||||
*/
|
*/
|
||||||
if (NULL != apps[0]->prefix_dir) {
|
if (NULL != apps && NULL != apps[0]->prefix_dir) {
|
||||||
base_prefix = strdup(apps[0]->prefix_dir);
|
base_prefix = strdup(apps[0]->prefix_dir);
|
||||||
} else {
|
} else {
|
||||||
base_prefix = NULL;
|
base_prefix = NULL;
|
||||||
|
@ -68,17 +68,6 @@ int MPI_Comm_spawn(char *command, char **argv, int maxprocs, MPI_Info info,
|
|||||||
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INFO,
|
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INFO,
|
||||||
FUNC_NAME);
|
FUNC_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do not allow MPI_COMM_SPAWN from a singleton. This check
|
|
||||||
will be removed when the ORTE 2.0 stuff comes over and
|
|
||||||
Makes This All Better(tm) */
|
|
||||||
if (orte_process_info.singleton) {
|
|
||||||
if (ompi_comm_rank(comm) == root) {
|
|
||||||
opal_show_help("help-mpi-api.txt", "spawn-from-singleton",
|
|
||||||
true, FUNC_NAME);
|
|
||||||
}
|
|
||||||
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG, FUNC_NAME);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rank = ompi_comm_rank ( comm );
|
rank = ompi_comm_rank ( comm );
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user