1
1
This commit was SVN r22075.

The following Trac tickets were found above:
  Ticket 2048 --> https://svn.open-mpi.org/trac/ompi/ticket/2048
Этот коммит содержится в:
Terry Dontje 2009-10-08 12:54:53 +00:00
родитель 3dc84e9d0b
Коммит 58c864699c
2 изменённых файлов: 11 добавлений и 1 удалений

Просмотреть файл

@ -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,