我打算在C ++应用程序中使用纯C MPI库,我不想通过运行eg来添加不必要的膨胀。提升包含MPI::<func>
类中所有内容的MPI层。
我应该注意什么?
答案 0 :(得分:8)
答案 1 :(得分:2)
不是真的,因为大多数库都准备包含在C ++编译器中(如果没有,你可以像上面的Space Cowboy那样建议)。但是,我建议你(如果你不介意)重新考虑提升MPI。它不会增加不必要的膨胀,并在面向对象的环境中为您提供更全面的MPI接口。它为通过MPI传输的类型添加了更多语义,甚至为您提供了更多“功能”操作符,例如使用仿函数进行计算操作(例如reduce
)等。它们添加的代码数量可以忽略不计,并且大多数情况下,没有运行时开销,因为抽象是通过模板元编程实现的。