Boost.MPI和Boost.Interprocess之间有什么区别?

时间:2009-12-03 14:35:45

标签: c++ boost

我认为Boost.MPIBoost.Interprocess不同,对吧?

从性能角度来看,哪个更快?有没有人做过基准测试?

我可以使用它们在同一进程中传递数据(即在不同的线程中)吗?

谢谢!

1 个答案:

答案 0 :(得分:19)

他们完全不同。 Boost MPI用于并行/分布式计算(如大规模并行超级计算机)。它需要现有的MPI(消息传递接口)安装,例如OpenMPI。 MPI通常用于联网计算机的高性能集群,或超级计算机。 Boost MPI库基本上只是普通MPI函数调用的一个很好的包装器。

另一方面,

Boost.Interprocess是IPC(进程间通信)的API,即在一台计算机上的两个进程之间进行通信。

如果要在同一台计算机上的进程之间共享数据,Boost.Interprocess非常有用。但是,如果按照您的建议,您只想在线程之间共享数据,则不需要任何此类数据。您只需要一个线程API。