Ich habe eine Situation in einem MPI-Code, wo viele Prozesse viele Dateien lesen und ihre eigenen Domänen erstellen, indem sie verschiedene Daten aus verschiedenen Dateien bekommen. Die meisten Dateien werden von mehreren Prozessen gelesen. Die meisten Prozesse lesen aus mehreren Dateien. Ich versuche einen Weg zu finden, alle Prozesse aktiv zu halten. Ich dachte, ich könnte versuchen, Code zu schreiben, so dass jeder Prozess seine Liste von Dateien durchläuft (zur Laufzeit bestimmt, unmöglich vorher zu bestimmen), versuchen, mit MPI_File_open
zu öffnen, wenn er sieht, dass seine aktuelle Datei bereits verwendet wird, mach weiter und probiere die nächste Datei aus. Dieser Zyklus würde fortgesetzt, bis alle Daten gelesen sind.MPI_File_open: Kann man aufgeben, wenn eine Datei gefunden wird?
Aber ist es möglich, MPI_File_open
Verhalten auf diese Weise zu machen? Soweit ich sagen kann, wenn MPI_File_open
sieht eine Datei bereits verwendet wird, wartet es nur, bis es es öffnen kann. Ich konnte nichts finden, was dieses Verhalten ändert.
Endlich habe ich eine Ahnung, worum es bei MPI_Info geht. Danke für die Antwort! –