In der Version 3.0 des MPI-Standards wurde die C ++ - Schnittstelle formal gelöscht (sie war zuvor veraltet). Während Implementierungen dies möglicherweise weiterhin unterstützen, ist für die in MPI-3 neueren Funktionen keine C ++ - Schnittstelle im MPI-Standard definiert. Weitere Informationen finden Sie unter http://blogs.cisco.com/performance/the-mpi-c-bindings-what-happened-and-why/ . Die Motivation zum Entfernen …
Ich habe eine Anwendung, die trivial parallelisiert werden kann, deren Leistung jedoch weitgehend E / A-gebunden ist. Die Anwendung liest ein einzelnes Eingabearray, das in einer Datei gespeichert ist, die normalerweise 2 bis 5 GB groß ist (ich erwarte jedoch, dass diese Zahl in Zukunft zunimmt). Eine typische Berechnung wendet …
Was ich an MPI am wenigsten mag, ist der Umgang mit Datentypen (dh Datenmaps / Masken), weil sie nicht so gut zu objektorientiertem C ++ passen. boost::mpiunterstützt jedoch nur MPI 1.1 von ihrer Website: boost :: mpi ist eine C ++ - freundliche Schnittstelle zur Standardschnittstelle für die Nachrichtenübermittlung. Boost.MPI …
Ich parallelisiere Code, um ein 5-dimensionales Populationsbilanzmodell numerisch zu lösen. Momentan habe ich in FORTRAN einen sehr guten MPICH2-parallelisierten Code, aber wenn wir die Parameterwerte erhöhen, werden die Arrays zu groß, um im verteilten Speichermodus ausgeführt zu werden. Ich habe Zugriff auf einen Cluster mit 15 Knoten, wobei jeder Knoten …
Normalerweise schreibe ich seriellen Code, und wenn ich das tue, schreibe ich Komponententests mit einem Testframework im xUnit-Stil (MATLAB xUnit, PyUnit / nose oder Googles C ++ - Testframework). Basierend auf einer flüchtigen Google-Suche habe ich nicht viel darüber gesehen, wie Praktiker Unit-Test-Code verwenden, der MPI verwendet. Gibt es dafür …
Ich arbeite an einem Problem, das mithilfe einer einzelnen mpi_allgather-Operation oder einer mpi_scatter- und einer mpi_gather-Operation parallelisiert werden kann. Diese Operationen werden innerhalb einer while-Schleife aufgerufen, sodass sie häufig aufgerufen werden können. In der Implementierung mit einem MPI_allgather-Schema sammle ich einen verteilten Vektor auf alle Prozesse zur Lösung doppelter Matrix. …
Ich versuche, eine MPI-Anwendung mit einem stark asynchronen Kommunikationsmuster zu optimieren. Jeder Rang hat eine Liste der zu berechnenden Dinge und sendet nach Bedarf Nachrichten, wenn sich die Ein- oder Ausgänge auf einem anderen Rang befinden. Zusätzlich wird jeder Rang mit einem Thread versehen (derzeit mit einem Kommunikationsthread und 5 …
Ich suche nach glaubwürdigen Referenzen, die angeben, wie viel Ressourcen Supercomputer für die Koordination im Vergleich zur eigentlichen aufgabenbezogenen Arbeit ausgeben. Ressourcen könnten verfügbare Rechenleistung sein, aber selbst Watt scheint eine gültige Einheit zu sein. Ich glaube, einer meiner Professoren oder Lehrbücher hat einmal gesagt, dass in massiv parallelen Systemen …
Was ist der Unterschied zwischen diesen beiden Methoden? Kann ein Problem, das mit einer Methode gelöst werden kann, mit der anderen gelöst werden? Können beide / oder einer von ihnen mit OpenMP und / oder MPI parallelisiert werden?
Beim Schreiben von MPI 3.0 - Code, soll ich weitergeben argcund argvauf den MPI_InitAnruf oder nicht, und warum? EDIT: Da die Antwort von Bill Barth einige Fragen aufwirft, möchte ich einige Anmerkungen machen: Bestehen argc/ argvist seit MPI 1.1 nicht erforderlich. Die Frage ist speziell, warum sollte / sollte man …
Was ist die Richtlinie für mehrere überlappende asynchrone Übertragungen in MPI? Ich habe ein Programm mit mehreren offenen asynchronen irecvOperationen. Ich finde, dass Übertragungen, die stattfinden könnten (der entsprechende isendwurde aufgerufen), auf andere Übertragungen warten, die noch nicht bereit sind (der entsprechende isendwurde noch nicht aufgerufen). Um klar zu sein, …
In MPI, gibt es keine eingebauten Mechanismus , eine Gruppe von Prozessen zu informieren , dass sie Nachrichten von anderen Prozessen empfangen müssen? In meiner Anwendung muss jeder Prozess Daten an eine Gruppe von Prozessen mit bekannten Rang-IDs senden (die sich möglicherweise bei jeder Iteration ändern), sie kennen jedoch nicht …
Ich habe eine Reihe von MPI-Prozessen, die Anforderungsnachrichten hin und her austauschen. Prozesse wissen nicht, welche anderen Prozesse ihnen Nachrichten senden oder wie viele. In dieser Situation möchte ich auf effiziente Weise feststellen, ob alle anderen Prozesse das Senden von Nachrichten für erledigt halten. Dies würde perfekt durch die folgende …
Soweit ich weiß, stimmt die Reihenfolge, in der nicht blockierende Punkt-zu-Punkt-MPI-Nachrichten (Isend und Irecv) empfangen werden, mit der Reihenfolge überein, in der sie gesendet werden. Gibt es Techniken, um bestimmten Nachrichten Vorrang vor anderen zu geben? Zum Beispiel haben wir einen mehrstufigen Algorithmus, bei dem die hochauflösenden Lösungen mit nicht …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.