目录
Boost.MPI 是一个用于高性能并行应用程序中消息传递的库。Boost.MPI 程序是一个或多个进程,它们可以通过发送和接收单个消息(点对点通信)或通过协同作为一个组(集体通信)来进行通信。与多线程环境中的通信或使用共享内存库不同,Boost.MPI 进程可以分布在许多不同的机器上,这些机器可能具有不同的操作系统和底层架构。
Boost.MPI 并不是一个全新的并行编程库。相反,它是标准消息传递接口 (Message Passing Interface, MPI) 的一个 C++ 友好接口,MPI 是高性能分布式计算最流行的库接口。MPI 定义了一个接口,可从 C、Fortran 和 C++ 调用,并有许多MPI 实现。尽管存在 MPI 的 C++ 绑定,但它们提供的功能比 C 绑定略少。Boost.MPI 库提供了一个替代的 C++ 接口给 MPI,它能更好地支持现代 C++ 开发风格,包括对用户自定义数据类型和 C++ 标准库类型的完整支持,用于集体算法的任意函数对象,以及使用现代 C++ 库技术来保持最大的效率。
目前,Boost.MPI 支持 MPI 1.1 的大部分功能。Boost.MPI 中的薄抽象允许用户轻松地将其与底层 C MPI 库的调用结合使用。Boost.MPI 目前支持:
reduce
和 gather
,支持内置和用户自定义数据类型及函数对象。Boost.MPI 可以通过其原生的 C++ 绑定,或者通过其替代的 Python 接口 来访问。