This commit fixes trac:2048
This commit was SVN r22075. The following Trac tickets were found above: Ticket 2048 --> https://svn.open-mpi.org/trac/ompi/ticket/2048
Этот коммит содержится в:
родитель
3dc84e9d0b
Коммит
58c864699c
@ -10,6 +10,7 @@
|
|||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2006-2007 Cisco Systems, Inc. All rights reserved.
|
* Copyright (c) 2006-2007 Cisco Systems, Inc. All rights reserved.
|
||||||
|
* Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -108,6 +109,10 @@ int MPI_Comm_spawn(char *command, char **argv, int maxprocs, MPI_Info info,
|
|||||||
if (OMPI_SUCCESS != (rc = ompi_dpm.open_port (port_name, OMPI_RML_TAG_INVALID))) {
|
if (OMPI_SUCCESS != (rc = ompi_dpm.open_port (port_name, OMPI_RML_TAG_INVALID))) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
} else if (1 < ompi_comm_size(comm)) {
|
||||||
|
/* we do not support non_mpi spawns on comms this size */
|
||||||
|
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_UNSUPPORTED_OPERATION,
|
||||||
|
FUNC_NAME);
|
||||||
}
|
}
|
||||||
if (OMPI_SUCCESS != (rc = ompi_dpm.spawn (1, &command, &argv, &maxprocs,
|
if (OMPI_SUCCESS != (rc = ompi_dpm.spawn (1, &command, &argv, &maxprocs,
|
||||||
&info, port_name))) {
|
&info, port_name))) {
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
||||||
|
* Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -47,7 +48,7 @@ int MPI_Comm_spawn_multiple(int count, char **array_of_commands, char ***array_o
|
|||||||
ompi_communicator_t *newcomp=NULL;
|
ompi_communicator_t *newcomp=NULL;
|
||||||
bool send_first=false; /* they are contacting us first */
|
bool send_first=false; /* they are contacting us first */
|
||||||
char port_name[MPI_MAX_PORT_NAME];
|
char port_name[MPI_MAX_PORT_NAME];
|
||||||
bool non_mpi, cumulative = false;
|
bool non_mpi = false, cumulative = false;
|
||||||
|
|
||||||
MEMCHECKER(
|
MEMCHECKER(
|
||||||
memchecker_comm(comm);
|
memchecker_comm(comm);
|
||||||
@ -148,6 +149,10 @@ int MPI_Comm_spawn_multiple(int count, char **array_of_commands, char ***array_o
|
|||||||
if (OMPI_SUCCESS != (rc = ompi_dpm.open_port (port_name, OMPI_RML_TAG_INVALID))) {
|
if (OMPI_SUCCESS != (rc = ompi_dpm.open_port (port_name, OMPI_RML_TAG_INVALID))) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
} else if (1 < ompi_comm_size(comm)) {
|
||||||
|
/* we do not support non_mpi spawns on comms this size */
|
||||||
|
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_UNSUPPORTED_OPERATION,
|
||||||
|
FUNC_NAME);
|
||||||
}
|
}
|
||||||
if (OMPI_SUCCESS != (rc = ompi_dpm.spawn(count, array_of_commands,
|
if (OMPI_SUCCESS != (rc = ompi_dpm.spawn(count, array_of_commands,
|
||||||
array_of_argv, array_of_maxprocs,
|
array_of_argv, array_of_maxprocs,
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user