首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPI_Type_indexed内存布局

MPI_Type_indexed内存布局
EN

Stack Overflow用户
提问于 2014-02-02 21:23:29
回答 1查看 86关注 0票数 0

考虑一下方法索引。我从一个数组中发送/接收元素,该数组的位置是随机的。例如,位置为5,16,102,1001,.的元素在设置MPI数据类型之前,我应该将它们彼此相邻地排列一下,这样会更好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-02 23:28:22

定义“更好”。

这可能会使您的代码更易于维护,因为与设置索引数据类型相比,在内存中交换值并将其作为单个数组发送可能更容易,而且更容易出错。

就性能而言,这是非常不必要的,除非您可能有太多的值可供选择,而这些值并不都适合内存,而且操作系统不得不求助于分页。即使如此,硬盘访问仍可能比网络流量更快,因此与传递消息的固有开销相比,性能增益可能是微不足道的。我甚至没有考虑排序数组的算法开销。当然,和往常一样,唯一正确的答案是“如果我做X而不是Y,它会更有效吗?”就是“两样都写,自己看看”。

简而言之,我不会麻烦地重新安排您的数据,除非您特别希望避免出于任何原因使用派生的MPI数据类型。派生数据类型是为这个场景创建的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21516419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档