mpi派生数据类型的好处是什么?

时间:2018-05-01 22:47:16

标签: c mpi

假设我的三维触发网格需要与所有最近邻居通信二维数组。我可以简单地将2d数组存储为1d数组,以使数据连续并使用send / recv。如果我使用例如,我可以期待任何性能优势改为Mpi_type_vector?

1 个答案:

答案 0 :(得分:1)

基本上,您可以手动将数据打包/解压缩到连续缓冲区或使用派生数据类型。

  • 手动打包/解压缩需要更多代码,更多内存,但打包/解包时间可以减少OpenMP

  • 派生数据类型需要更少的代码,更少的内存,但数据通常在引擎盖下打包/解包,这通常由单个线程执行。

使用派生数据类型的底线可以节省您从缓冲区复制数据,但可能并不总是最快的选择。

相关问题