MPI_Comm_spawn(3)
MPI_Comm_spawn - Starts a number of MPI processes and establishes communication with them, returning an intercommunicator
As shipped in IRIX 6.5.30. Last changed in IRIX 6.5.22.
NAME MPI_Comm_spawn - Starts a number of MPI processes and establishes communication with them, returning an intercommunicator SYNOPSIS C: #include <mpi.h> int MPI_Comm_spawn( command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes ) int maxprocs, root, array_of_errcodes[]; char *command,*argv[]; MPI_Comm comm,*intercomm; MPI_Info info; Fortran: INCLUDE "mpif.h" (or USE MPI) INTEGER info, maxprocs, root, comm, intercomm, array_of_errcodes(*), ierror CHARACTER*(*) command, argv(*) CALL MPI_COMM_SPAWN(command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes, ierror) DESCRIPTION The MPI_Comm_spawn routine tries to start maxprocs identical copies of the MPI program specified by command, establishing communication with them and returning an intercommunicator. The spawned processes are referred to as childern. The children have their own MPI_COMM_WORLD, which is separate from the of the parents. This call is collective over comm. This routine accepts the following parameters: command Specifies the name of the MPI program to be spawned (string, significant only at root). argv Specifies arguments to be passed to command. MPI_ARGV_NULL should be used if no arguments are to be passed to the program (array of strings, significant only at root). maxprocs Specifies the maximum number of processes to start (integer, significant only at root). info A set of key-value pairs telling the runtime system where and how to start the processes. Currently this value is ignored. MPI_INFO_NULL should be used if no info argument is supplied (handle, significant only at root). root The rank of the process in which previous arguments are examined (integer). comm The intracommunicator containg the group of spawning processes (handle). intercomm Upon return, the intercommunicator between the original group and the newly spawned group (handle). array_of_errcodes Upon return, reports the status of the spawned program, one code per process. MPI_ERRCODES_IGNORE should be used if no argument is provided (array of integers). ierror Specifies the return code value for successful completion, which is in MPI_SUCCESS. MPI_SUCCESS is defined in the mpif.h file (integer). NOTES In this implementation, all of the spawned processes have access to stdout and stderr. However, none of the spawned processes have access to stdin. The argv argument is an array of strings containing arguments that are passed to the program. The first element of argv is the first argument passed to command, not, as is conventional in some contexts, the command itself. The argument list is terminated by NULL in C and an empty string in FORTRAN. Error codes are the values returned by MPI routines (in C) or in the ierror argument (in Fortran). These can be converted to error classes by using the MPI_Error_class(3) routine. SEE ALSO MPI_Comm_spawn_multiple(3), MPI_Comm_get_parent(3),MPI_Finalize(3) mpi(1), mpirun(1)