Ich möchte zwei Fragen stellen:MPI. Maximale Anzahl von Kommunikatoren und Prozessen
Was ist die maximale Anzahl von Kommunikatoren in MPI? Was ist maximale Anzahl von Prozessen in MPI?
Ich möchte zwei Fragen stellen:MPI. Maximale Anzahl von Kommunikatoren und Prozessen
Was ist die maximale Anzahl von Kommunikatoren in MPI? Was ist maximale Anzahl von Prozessen in MPI?
Dies ist sehr wahrscheinlich implementierungsabhängig. der Standard besagt, dass ein Rang ein int ist, und in Fortran (vor Fortran 2008 Bindings) ein Kommunikator ist eine Fortran-Zahl (die möglicherweise nicht die gleiche Größe als eine C-Zahl haben) unteren Zeile, ich denke, es gibt eine harte Grenze von 2 Milliarden MPI-Aufgaben in MPI_COMM_WORLD, und es gibt wahrscheinlich eine ähnliche harte Grenze von 2 Milliarden Kommunikatoren. noch einmal, eine bestimmte Implementierung könnte niedrigere Grenzen haben.
Es gibt auch Grenzen der Prozessnummer in Netzwerkhardware (schwer zu erstellende Warteschlangen für Any-to-Any-Prozesskommunikation). Die praktischen Grenzen liegen bei etwa 1 Million Prozessen im Jahr 2009: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.148.7674&rep=rep1&type=pdf "MPI auf einer Million Prozessoren" von P. Balaji - doi> 10.1007/978-3-642-03770-2_9 – osgx
Die Handle-Typen in Fortran 2008 Bindings sind nichts anderes als Wrappers vom Typ Record um die Integer-Handles, so dass sich dort nicht viel ändert. –