MPI_Init_thread funkce
Inicializuje spouštěcí prostředí volajícího procesu MPI pro provádění s vlákny.
Syntaxe
int MPIAPI MPI_Init_thread(
_In_opt_ int *argc,
_In_opt_count_(*argc) char ***argv,
_In_ int required,
_Out_ int *provided
);
Parametry
argc [v, volitelné]
Ukazatel na počet argumentů programu. Tato hodnota může být NULL.argv [volitelné]
Ukazatel na seznam argumentů pro program. Tato hodnota může být NULL.required [in]
Úroveň požadované podpory vlákna. Více procesů MPI ve stejné úloze může používat různé hodnoty.MPI_THREAD_SINGLE Spustí se pouze jedno vlákno v programu. MPI_THREAD_FUNNELED Proces může obsahovat více vláken, ale vlákno, které volá MPI_Init_thread , je jediné, které provádí volání funkce MPI. MPI_THREAD_SERIALIZED Proces může obsahovat více vláken a všechna tato vlákna mohou provádět volání funkce MPI, ale pouze po jednom. MPI_THREAD_MULTIPLE Více vláken aplikací může volat funkce MPI bez omezení. Tato hodnota je aktuálně podporována pouze v ms-MPI v6 spuštěném na Windows Server 2012, Windows Server 2012 R2, Windows 8 a Windows 8.1. provided [out]
Úroveň poskytované podpory vláken. Vrácená hodnota bude z výše uvedené tabulky.
Vrácená hodnota
MPI_SUCCESS , pokud se funkce úspěšně vrátí. Jiné kódy chyb, pokud volání selhalo z jiných důvodů (například neplatných argumentů).
V nástroji Fortran je vrácená hodnota uložena v parametru IERROR .
Fortran
MPI_INIT_THREAD(REQUIRED, PROVIDED, IERROR)
INTEGER REQUIRED, PROVIDED, IERROR
Poznámky
Tuto funkci musí volat pouze jedno vlákno. Toto vlákno bude známé jako "hlavní vlákno" a musí být stejné vlákno, aby bylo možné volat MPI_Finalize.
Vazba Fortran MPI_Init_thread nepřijímá parametry ARGC a ARGV.
Požadavky
Produkt |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package nebo HPC Pack 2008 Client Utilities |
Hlavička |
Mpi.h; Mpif.h |
Knihovna |
Msmpi.lib |
DLL |
Msmpi.dll |