gpt4 book ai didi

c - 多台机器的 MPI_Scatter

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:09 24 4
gpt4 key购买 nike

我是 MPI 世界的新手,我有点困惑..

我使用“MPI_Scatter”将数组“分解”成多个部分。但情况是...它可以在多台机器上运行该程序吗?

我的观点是:我是否必须使用 MPI_Send 和 MPI_Rcv 之类的东西?或者 Scatter 可以做到这一点? MPI_Scatter 只能在一台机器上工作?找不到关于此的任何好的引用..

谢谢! =)

最佳答案

MPI_Scatter 无论 MPI 进程位于何处都有效。它的效果就好像根进程执行了一个 MPI_Send 操作循环,而所有其他进程都执行了一个 MPI_Recv。事实上,除非网络设备支持某种工作卸载(但在最后它再次归结为一系列类似发送和接收的事件)。它的对应项 MPI_Gather 以及 MPI 中的任何其他集体通信调用也是如此。

MPI 是一种抽象规范 - 它仅定义通信实体(等级)与 MPI 环境(API)交互的方式以及这种交互的结果。它不关心等级是否是同一节点上的进程,或者它们是否在大规模并行 super 计算机上运行,​​或者它们是否通过 Internet 在全局范围内进行通信。 MPI 规范的以下摘录对此进行了最好的描述:

The attractiveness of the message-passing paradigm at least partially stems from its wide portability. Programs expressed this way may run on distributed-memory multiprocessors, networks of workstations, and combinations of all of these. In addition, shared-memory implementations, including those for multi-core processors and hybrid architectures, are possible. The paradigm will not be made obsolete by architectures combining the shared and distributed-memory views, or by increases in network speeds. It thus should be both possible and useful to implement this standard on a great variety of machines, including those "machines" consisting of collections of other machines, parallel or not, connected by a communication network.

关于c - 多台机器的 MPI_Scatter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19673116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com