2010-12-16 8 views
3

Ich benutze MPI, und an einigen Punkten möchte STOP (oder eine andere Methode), um das Programm mit einer Fehlermeldung zu beenden.Richtiger Weg zum STOP mit MPI

Gerade jetzt, ich mache etwas wie folgt aus:

STOP 'Error' 

Aber ich habe das Gefühl, ich etwas falsch tue. Muss ich zuerst MPI_FINALIZE aufrufen? Gibt es noch etwas anderes zu tun?

Antwort

7

In einem katastrophalen Fehlerzustand ist der übliche Weg zum Beenden call MPI_Abort(MPI_COMM_WORLD, errcode, ierr). In den meisten Implementierungen werden dadurch alle Aufgaben beendet. In weniger drastischen Situationen könntest du sicherstellen, dass alle Aufgaben von der Bedingung wissen, und dann sie alle mit einer MPI_Finalize anmutig erregen lassen.

+0

Danke, genau was ich brauche –

4

einen Blick auf MPI_Abort Nehmen:

Das Verhalten von MPI_ABORT (comm, Error-Code), für comm andere dann MPI_COMM_WORLD, Implementierung abhängig ist. Auf der anderen Seite, ein Anruf an MPI_ABORT (MPI_COMM_WORLD, Fehlercode) sollte immer alle Prozesse in der Gruppe von MPI_COMM_WORLD zum Abbrechen.

Verwandte Themen