MPI_Comm_spawn_multiple 函数

生成多个二进制文件或具有多个参数集的同一个二进制文件,与它们建立通信并将其置于同一 MPI_COMM_WORLD中。

语法

int MPIAPI MPI_Comm_spawn_multiple(
            int                        count,
            _In_count_(count) char     *array_of_commands[],
            _In_opt_count_(count) char **array_of_argv[],
            _In_count_(count) int      array_of_maxprocs[],
            _In_count_(count) MPI_Info array_of_info[],
            int                        root,
            MPI_Comm                   comm,
  _Out_     MPI_Comm                   *intercomm,
  _Out_opt_ int                        array_of_errcodes[]
);

参数

  • 计数
    命令数。

  • array_of_commands
    要执行的程序。

  • array_of_argv
    命令的参数。

  • array_of_maxprocs
    要为每个命令启动的最大进程数。

  • array_of_info
    告知运行时系统在何处以及如何启动进程的信息对象。

  • root
    在其中检查先前参数的进程排名。

  • comm
    包含一组生成进程的内部通信器。

  • intercomm [out]
    原始组和新生成的组之间的通信器。

  • array_of_errcodes [out, 可选]
    每个进程一个错误代码。

返回值

返回成功 时MPI_SUCCESS 。 否则,返回值为错误代码。

在 Fortran 中,返回值存储在 IERROR 参数中。

Fortran

    MPI_COMM_SPAWN_MULTIPLE(COUNT, ARRAY_OF_COMMANDS, ARRAY_OF_ARGV,
                ARRAY_OF_MAXPROCS, ARRAY_OF_INFO, ROOT, COMM, INTERCOMM,
                ARRAY_OF_ERRCODES, IERROR)
        INTEGER COUNT, ARRAY_OF_INFO(*), ARRAY_OF_MAXPROCS(*), ROOT, COMM,
        INTERCOMM, ARRAY_OF_ERRCODES(*), IERROR
        CHARACTER*(*) ARRAY_OF_COMMANDS(*), ARRAY_OF_ARGV(COUNT, *)

要求

产品

HPC Pack 2012 MS-MPI 可再发行程序包、HPC Pack 2008 R2 MS-MPI 可再发行程序包、HPC Pack 2008 MS-MPI 可再发行程序包或 HPC Pack 2008 客户端实用工具

标头

Mpi.h;Mpif.h

Msmpi.lib

DLL

Msmpi.dll

另请参阅

MPI 进程管理功能