Wozu dient die Boost.MPI-Bibliothek? Erhöht es die Leistung? Und was ist der Unterschied zur MPICH-Bibliothek?Welchen Zweck hat die Verwendung der Boost.MPI-Bibliothek?
Antwort
Boost.MPI provides
eine Alternative C++ Schnittstelle auf MPI, dass eine bessere moderne C++ Entwicklung Stile unterstützt, einschließlich der vollständigen Unterstützung für benutzerdefinierte Datentypen und C++ Standard Library Typen, beliebige Funktion für gemeinsame Algorithmen Objekte, und die Verwendung moderner C++ Bibliothekstechniken.
Sie beabsichtigt
maximale Effizienz
zu halten, aber nicht zu tatsächlich die Leistung von MPI zu verbessern; Es kann nicht, weil es immer noch an bestehende MPI-Implementierungen gebunden ist (obwohl es einige High-Level-Muster auf eine effizientere Weise implementieren könnte, als Sie sie schreiben würden, abhängig davon, wie viel von einem MPI-Experten Sie sind). Es ist hauptsächlich bequemer als die normale C-API.
Es ist im Grunde eine "moderne" C++ - Schnittstelle zu der gleichen alten C-API, die zum Beispiel in MPICH implementiert ist. Da es die gleichen Funktionen verwendet, kann es nicht zu einer Leistungsverbesserung führen, kann aber die eigentliche Implementierung erleichtern, indem es es einfacher macht.
Die C++ Bindungen in MPI seit Version veraltet 2.2: http://www.mpi-forum.org/docs/mpi22-report/node328.htm
Boost.MPI basierend auf C MPI-API, so dass es für die gute Entscheidung ist, die C++ API wollen: https://github.com/mpi-forum/mpi-forum-historic/issues/150
... wenn sie mit der Teilmenge der MPI-Funktionalität zufrieden sind, die Boost.MPI tatsächlich unterstützt. Siehe http://lists.mpi-forum.org/mpi-forum/2011/12/1396.php und http://www.boost.org/doc/libs/1_48_0/doc/html/mpi/tutorial.html # mpi.c_mapping – mabraham
Der obige Link ist kaputt, aber dieser Beitrag (den ich entdeckt habe, als ich ihn gefunden habe) ist hier zu finden: https://lists.mpi-forum.org/pipermail/mpi-forum/ 2011-Dezember/001396.html – Jeff
- 1. Welchen Zweck hat die Verwendung von Tiefe in JSON-Encodierung?
- 2. Welchen Zweck hat Cassandras Commit Log?
- 3. Welchen Zweck hat glBindAttributeLocation in GLSL?
- 4. Welchen Zweck hat ein Artefakt-Repository?
- 5. Welchen Zweck hat Listener in WebSphere MQ?
- 6. Welchen Zweck hat das App Store-Bereitstellungsprofil?
- 7. Welchen Zweck hat externer Alias in C#?
- 8. Welchen Zweck hat der serielle Parameter in der Wayland API?
- 9. Welchen Zweck erfüllt der Etikettenformhelfer?
- 10. Welchen Zweck erfüllt der Name?
- 11. Welchen Zweck hat die AppManifest.xaml-Datei in Silverlight-Anwendungen?
- 12. Welchen Zweck hat der Assemblies-Knoten in Web.Config?
- 13. Welchen Zweck hat der Zugriff auf JRE-Bibliotheksklassen auf AppEngine?
- 14. Welchen Zweck hat die Methode -self in NSObject-konformen Klassen?
- 15. Welchen Zweck hat der zweite Parameter von docepy, Memo?
- 16. Welchen Zweck hat das Gerät bei der Rückgabe von Funktionen?
- 17. Welchen Nutzen hat die Verwendung der eingebetteten Objectify-Klasse?
- 18. Welchen Zweck hat die Verwendung des Schlüsselworts "this" in diesem Code-Snippet?
- 19. Welchen Zweck hat @NamedArg Annotation in javaFX 8?
- 20. Ember.js - Welchen Zweck erfüllt Ember.lookup?
- 21. Welchen Zweck haben die Delegierten in C#?
- 22. Welchen Zweck haben die Methoden in System.Reflection.RuntimeReflectionExtensions?
- 23. Welchen Zweck hat Build Configuration Manager in VS2008?
- 24. Welchen Zweck hat es, eine Schnittstellenobjektreferenz mit Klammern zu umschließen?
- 25. Welchen Zweck haben CSS-Präfixe?
- 26. Welchen Zweck hat WHERE 1 = 1 in SQL-Anweisungen?
- 27. Welchen Zweck hat es, eine Veranstaltung zu veranstalten?
- 28. Welchen Zweck hat @param Annotation im Java-Code?
- 29. Welchen Zweck erfüllt die Objektvariablenzuweisung hier?
- 30. Welchen Zweck hat diese Methode im Silverlight SDK-Quellcode?
die Leistung von dem, was erhöhen? –
Zum Beispiel Kommunikation oder Speicher – peaceman
@ehsan: Es wäre wirklich cool, wenn einige Bibliothek die Leistung meines Speichers erhöhen könnte ... – PlasmaHH