Ich hätte gerne das gleiche Array namens hist(1:1000)
auf verschiedenen Prozessoren mit OpenMPI, so dass, wenn ein Prozessor hist
ändert diese Modifikation in den Rest der Prozessoren aktualisiert wird.Wie benutze ich das gleiche Array auf verschiedenen Prozessoren mit MPI
Ich habe einen Code geschrieben und erklärte hist(1:1000)
aber das Problem ist, dass hist
auf jedem Prozessor unabhängig aktualisiert wird, dann, was ich bin es, die Daten an einen „Master-Knoten“ zu senden, um ein weiteres Histogramm zu aktualisieren basierend auf den Informationen von den Sklaven, aber das ist was ich nicht will. Ich möchte das gleiche Histogramm auf jedem der Prozessoren aktualisiert haben.
Ist dies mit OpenMPI möglich?
Haben Sie versucht, hist als eine gemeinsame Variable zu deklarieren? – Neo
wie könnte ich das tun? Grüße. – armando
Hoppla .. Mein Fehler .. Ich habe es als OpenMP falsch gelesen .. Gerade bemerkt, dass es openmpI ist .. Wie mgilson in der Antwort unten angegeben, wenn Sie OpenMP verwenden können, können Sie eine gemeinsame Variable haben. OpenMP beeinflusst jedoch die Skalierbarkeit. Wenn Sie also mit MPI fortfahren möchten, müssen Sie Sammelvorgänge wie MPI_Gather verwenden. Es gibt keinen anderen Weg! – Neo