Freigeben über


MPI_Init_thread-Funktion

Initialisiert die Ausführungsumgebung des aufrufenden MPI-Prozesses für die Threadausführung.

Syntax

int MPIAPI MPI_Init_thread(
  _In_opt_ int                        *argc,
           _In_opt_count_(*argc) char ***argv,
  _In_     int                        required,
  _Out_    int                        *provided
);

Parameter

  • argc [in, optional]
    Ein Zeiger auf die Anzahl der Argumente für das Programm. Dieser Wert kann NULL sein.

  • argv [optional]
    Ein Zeiger auf die Argumentliste für das Programm. Dieser Wert kann NULL sein.

  • erforderlich [in]
    Die Ebene der gewünschten Threadunterstützung. Mehrere MPI-Prozesse im selben Auftrag können unterschiedliche Werte verwenden.

    MPI_THREAD_SINGLE Es wird nur ein einzelner Thread im Programm ausgeführt.
    MPI_THREAD_FUNNELED Der Prozess kann mehrere Threads enthalten, aber der Thread, der MPI_Init_thread aufgerufen hat, ist der einzige Thread, der MPI-Funktionsaufrufe durchführt.
    MPI_THREAD_SERIALIZED Der Prozess kann mehrere Threads enthalten, und alle diese Threads können MPI-Funktionsaufrufe ausführen, aber nur jeweils einen.
    MPI_THREAD_MULTIPLE Mehrere Anwendungsthreads können MPI-Funktionen ohne Einschränkungen aufrufen. Dieser Wert wird derzeit nur auf MS-MPI V6 unterstützt, die auf Windows Server 2012, Windows Server 2012 R2, Windows 8 und Windows 8.1 ausgeführt wird.

     

  • bereitgestellt [out]
    Die Ebene der bereitgestellten Threadunterstützung. Der zurückgegebene Wert stammt aus der obigen Tabelle.

     

Rückgabewert

MPI_SUCCESS , wenn die Funktion erfolgreich zurückgegeben wird. Andere Fehlercodes, wenn der Aufruf aus anderen Gründen fehlgeschlagen ist (z. B. ungültige Argumente).

In Fortran wird der Rückgabewert im IERROR-Parameter gespeichert.

Fortran

    MPI_INIT_THREAD(REQUIRED, PROVIDED, IERROR)
        INTEGER REQUIRED, PROVIDED, IERROR

Hinweise

Diese Funktion muss nur von einem Thread aufgerufen werden. Dieser Thread wird als "Hauptthread" bezeichnet und muss derselbe Thread sein, um MPI_Finalize aufzurufen.

Die Fortran-Bindung von MPI_Init_thread akzeptiert die PARAMETER ARGC und ARGV nicht.

Anforderungen

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package oder HPC Pack 2008 Client Utilities

Header

Mpi.h; Mpif.h

Bibliothek

Msmpi.lib

DLL

Msmpi.dll

Weitere Informationen

EXTERNE MPI-Funktionen

MPI_Finalize

MPI_Init