如何使用 MPI_CART 将流程映射到超立方体
我正在尝试使用 MPI 为 2^n 处理器实现双调排序。
为了方便起见,我想使用 n 维 hypercube 来这样做。使用 MPI_Cart_Create 我可以创建自组织维度。这样做将最大限度地提高我的流程效率,并减少我必须吐出的 LOC 数量才能完成它。
谷歌搜索和文献总是告诉我们同样的事情:
请注意,n 维超立方体 是一个 n 维环面,其中 2 每个坐标方向的进程。 因此,对超立方体的特殊支持 结构不是必需的。
我还没有看到任何单个示例 + 每个坐标方向有 2 个进程的 n 维环面,这对我来说似乎只是神秘。有人需要建议吗?
谢谢,
I am trying to implement bitonic sorting using MPI for 2^n processors.
I would like to use an n-dimensional hypercube to do so for convenience. Using MPI_Cart_Create I can create self-organising dimensions. Doing so will maximize efficiency of my process and also reduce the number of LOC I have to spit to get it done..
Googling AND the litterature always tell the same thing:
Note that an n -dimensional hypercube
is an n -dimensional torus with 2
processes per coordinate direction.
Thus, special support for hypercube
structures is not necessary.
I haven’t seen any single example + n -dimensional torus with 2 processes per coordinate direction seems nothing but mystery to me. Would anyone have to suggest?
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嗯,找到了,
这将是一个 4 维超立方体。这个模式非常简单。在 n 维超立方体中,每个点都有 N 个邻居,它们在此代码中表示。请注意,应使用此代码而不是异或位掩码,因为 MPI 可以重新排序进程以适应集群的物理布局。
Well, found it
so that would be for a 4-d hypercube.. The pattern is pretty straight-forward. In n-dimensional hypercube each point have N neighbour and they are represented in this code. Note that this code should used instead of xoring bit mask because MPI can re-order the processes to fit the physical layout of your clusters.