Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellt und gibt eine benutzerdefinierte Anforderung zurück.
Syntax
int MPIAPI MPI_Grequest_start(
_In_ MPI_Grequest_query_function *query_fn,
_In_ MPI_Grequest_free_function *free_fn,
_In_ MPI_Grequest_cancel_function *cancel_fn,
_In_opt_ void *extra_state,
_Out_ MPI_Request *request
);
Parameter
query_fn [in]
Rückruffunktion wird aufgerufen, wenn anforderungsbasierte status abgefragt wird.free_fn [in]
Rückruffunktion wird aufgerufen, wenn die Anforderung freigegeben wird.cancel_fn [in]
Rückruffunktion wird aufgerufen, wenn die Anforderung abgebrochen wird.extra_state [in, optional]
Zusätzlicher Zustand, der an die oben genannten Funktionen übergeben wird.Request [out]
Generalisierte Anforderung.
Rückgabewert
Gibt MPI_SUCCESS nach Erfolg zurück. Andernfalls ist der Rückgabewert ein Fehlercode.
In Fortran wird der Rückgabewert im IERROR-Parameter gespeichert.
Fortran
MPI_GREQUEST_START(QUERY_FN, FREE_FN, CANCEL_FN, EXTRA_STATE, REQUEST, IERROR)
INTEGER REQUEST, IERROR
EXTERNAL QUERY_FN, FREE_FN, CANCEL_FN
INTEGER (KIND=MPI_ADDRESS_KIND) EXTRA_STATE
Hinweise
Die Rückgabewerte der Rückruffunktionen müssen ein gültiger MPI-Fehlercode oder eine gültige Klasse sein. Bei diesem Wert kann es sich entweder um den Rückgabewert einer beliebigen MPI-Routine (mit einer unten aufgeführten Ausnahme) oder einer der MPI-Fehlerklassen handeln. Für tragbare Programme können MPI_ERR_OTHER verwendet werden; Um spezifischere Informationen bereitzustellen, erstellen Sie eine neue MPI-Fehlerklasse oder einen neuen Mpi-Code mit MPI_Add_error_class oder MPI_Add_error_code , und geben Sie diesen Wert zurück.
Der MPI-Standard ist für die Rückgabewerte aus den Rückrufroutinen nicht eindeutig. Es gibt jedoch Hinweise im Standard, die darauf hindeuten, dass es sich um MPI-Fehlercodes handelt. Beispielsweise erfordern die Seiten 169 Zeile 46 bis Seite 170, Zeile 1, dass die free_fn einen MPI-Fehlercode zurückgeben, der in den MPI-Vervollständigungsfunktionen verwendet werden kann, wenn sie MPI_ERR_IN_STATUS zurückgeben.
Der einzige Sonderfall ist der Fehlerwert, der von MPI_Comm_dup zurückgegeben wird, wenn die Attributrückrufroutine einen Fehler zurückgibt. Der MPI-Standard ist nicht klar, welche Werte verwendet werden können, um eine Fehlerrückgabe anzuzeigen. Darüber hinaus verwendete die Intel MPI-Testsammlung Werte ungleich Null, um einen Fehler anzuzeigen, und erwartete, dass diese Werte vom MPI_Comm_dup zurückgegeben werden, wenn bei den Attributroutinen ein Fehler aufgetreten ist. Solche Fehlerwerte sind möglicherweise keine gültigen MPI-Fehlercodes oder -klassen. Aus diesem Grund liegt es in der Verantwortung des Benutzers, entweder gültige MPI-Fehlercodes als Gegenleistung für die Attributrückrufe zu verwenden, wenn diese Fehlercodes von einem generalisierten Anforderungsrückruf zurückgegeben werden sollen, oder diese Fehlercodes zu erkennen und in gültige MPI-Fehlercodes zu konvertieren (denken Sie daran, dass MPI-Fehlerklassen gültige Fehlercodes sind).
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 |