MPI_Init_thread 函数
初始化调用 MPI 进程的执行环境,以便进行线程执行。
语法
int MPIAPI MPI_Init_thread(
_In_opt_ int *argc,
_In_opt_count_(*argc) char ***argv,
_In_ int required,
_Out_ int *provided
);
参数
argc [in, optional]
指向程序参数数的指针。 此值可以为 NULL。argv [可选]
指向程序的参数列表的指针。 此值可以为 NULL。required [in]
所需线程支持的级别。 同一作业中的多个 MPI 进程可能使用不同的值。MPI_THREAD_SINGLE 程序中只有一个线程将执行。 MPI_THREAD_FUNNELED 进程可能包含多个线程,但调用 MPI_Init_thread 的线程是唯一进行 MPI 函数调用的线程。 MPI_THREAD_SERIALIZED 进程可能包含多个线程,所有这些线程都可以进行 MPI 函数调用,但一次只能调用一个。 MPI_THREAD_MULTIPLE 多个应用程序线程可以毫无限制地调用 MPI 函数。 此值目前仅在 Windows Server 2012、Windows Server 2012 R2、Windows 8 和 Windows 8.1 上运行的 MS-MPI V6 上受支持。 provided [out]
提供的线程支持的级别。 返回的值来自上表。
返回值
如果 函数成功返回,则MPI_SUCCESS。 如果调用因其他原因失败, (如) 参数无效,则返回其他错误代码。
在 Fortran 中,返回值存储在 IERROR 参数中。
Fortran
MPI_INIT_THREAD(REQUIRED, PROVIDED, IERROR)
INTEGER REQUIRED, PROVIDED, IERROR
注解
此函数只能由一个线程调用。 该线程将称为“主线程”,并且必须是同一线程才能调用 MPI_Finalize。
MPI_Init_thread的 Fortran 绑定不接受 ARGC 和 ARGV 参数。
要求
产品 |
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 |