Funktionsübersicht . . Errorhandling und Environment

Hilfesystem für den Message Passing Interface Standard MPI


MPI_Errhandler_create

Erzeugt einen MPI-Errorhandler

Syntax:

Input Parameter: Output Parameter: Anmerkung:

Die Funktion sollte vom Typ MPI_Handler_function sein::

typedef void MPI_Handler_function(MPI_Comm *, int *, ...);
Das erste Argument ist der Kommunikator, in dem der Ausnahmezustand eintrat. Ist der Returnwert einer MPI-Funktion ungleich MPI_SUCCESS, wird die Fehlerbehandlungsroutine gerufen. Im zweiten Argument wird dieser Returnwert der nutzerdefinierten Routine übergeben. Alle weiteren Argumente sind von Ihrer MPI-Implementation abhängig und sollten dort genau dokumentiert sein.

Aufruf:

#include "mpi.h"

void my_errhandler(MPI_Comm *comm, int *errcode) {
    
    switch (*errcode) {
    ... Fehlerbehandlung ...
    }
}

int my_function(MPI_Comm comm) { 

    int                    msg, myid;
    MPI_Errhandler         errh, store_errh;

    ...
    /* alten Errorhandler merken */
    MPI_Errhandler_get(comm, &store_errh);

    MPI_Errhandler_create((MPI_Handler_function *)(&my_errhandler), &errh);
    MPI_Errhandler_set(comm, errh);
    ...
    MPI_Errhandler_free(&errh);
    /* Errorhandler wieder setzen */
    MPI_Errhandler_set( comm, store_errh);
}

Beispiel