¿Cuál es el propósito de usar la biblioteca Boost.MPI? ¿Aumenta el rendimiento? ¿Y cuál es la diferencia entre él y la biblioteca MPICH?¿Cuál es el propósito de usar la biblioteca Boost.MPI?
Respuesta
Boost.MPI provides
una interfaz C++ alternativa a MPI que mejor soporta estilos C++ Development modernas, incluyendo soporte completo para los tipos de datos definidos por el usuario y tipos de biblioteca de C++ estándar, los objetos de función arbitraria para los algoritmos de colectivos, y el uso de técnicas modernas de bibliotecas C++.
Se pretende
para mantener la eficiencia máxima
pero no para realmente mejorar el rendimiento de MPI; no puede, porque aún está vinculado a las implementaciones de MPI existentes (aunque puede implementar algunos patrones de alto nivel de una manera más eficiente de lo que usted los escribiría, dependiendo de qué tan experto de MPI sea). Es principalmente más conveniente que la API C común.
Básicamente es una interfaz C++ "moderna" para la misma antigua API C que se implementa en, por ejemplo MPICH. Como usa las mismas funciones, no puede mejorar el rendimiento, pero puede ayudar con la implementación real haciéndolo más fácil.
Los enlaces de C++ en MPI en desuso desde la versión 2.2: http://www.mpi-forum.org/docs/mpi22-report/node328.htm
Boost.MPI basado en la API C MPI, por lo que es una buena decisión para aquellos que quieran C++ API: https://github.com/mpi-forum/mpi-forum-historic/issues/150
... si están contentos con el subconjunto de la funcionalidad MPI que Boost.MPI realmente admite. Ver http://lists.mpi-forum.org/mpi-forum/2011/12/1396.php y http://www.boost.org/doc/libs/1_48_0/doc/html/mpi/tutorial.html # mpi.c_mapping – mabraham
El enlace de arriba está roto pero esa publicación (que descubrí en el curso de encontrarla que escribí) se puede encontrar aquí: https://lists.mpi-forum.org/pipermail/mpi-forum/ 2011-diciembre/001396.html – Jeff
- 1. ¿Cuál es el propósito de: "usar el espacio de nombres"?
- 2. ¿Cuál es el propósito de usar Function.call.apply en JavaScript?
- 3. ¿Cuál es el propósito de usar `void` aquí?
- 4. ¿Cuál es el propósito de usar System.img en Android?
- 5. ¿cuál es el propósito de Thread.holdsLock (lock)?
- 6. ¿Cuál es el propósito de Anorm's Pk?
- 7. ¿Cuál es la mejor biblioteca matemática para usar con Java?
- 8. ¿Cuál es el propósito de Active Records?
- 9. ¿Cuál es el propósito de 'Class.forName ("MY_JDBC_DRIVER")'?
- 10. php umask (0) ¿cuál es el propósito
- 11. ¿Cuál es el propósito de `qt_noop`
- 12. ¿Cuál es el propósito de precompiledApp.config?
- 13. ¿Cuál es el propósito de layout.xml?
- 14. ¿Cuál es el propósito de requestWindowFeature()?
- 15. ¿Cuál es el propósito de Mage_Core_Block_Template_Facade
- 16. ¿Cuál es el propósito de config.assets.precompile?
- 17. ¿Cuál es el propósito de String.IsInterned?
- 18. Boost.MPI vs Boost.Asio
- 19. ¿Cuál es el propósito de IntentSender?
- 20. ¿Cuál es el propósito de utilizar NSOrderedSame?
- 21. ¿Cuál es el propósito de 'var'?
- 22. ¿Cuál es el propósito de git-mv?
- 23. ¿Cuál es el propósito de Membership.ValidateUser()
- 24. ¿Cuál es el propósito de Ext.require
- 25. WPF: ¿Cuál es el propósito de App.xaml?
- 26. ¿Cuál es el propósito de Rake?
- 27. ¿Cuál es el propósito de 'n = n'?
- 28. ¿Cuál es el propósito de Function.const?
- 29. ¿Cuál es el propósito de :: en C#?
- 30. ¿cuál es el propósito de glClear (GL_DEPTH_BUFFER_BIT)
aumentar el rendimiento de qué? –
Por ejemplo, comunicación o memoria – peaceman
@ehsan: Sería realmente genial si alguna biblioteca pudiera aumentar el rendimiento de mi memoria ... – PlasmaHH