35、MPI集体通信与进程管理详解

MPI集体通信与进程管理详解

1. 集体通信操作

在消息传递编程中,集体通信操作是非常重要的一部分。集体通信操作的效果是,属于通信器 comm 组的所有进程都会被阻塞,直到该组的所有其他进程也调用了此操作。

1.1 非阻塞集体通信操作

MPI不仅支持阻塞的集体通信操作,还支持非阻塞集体通信操作,这使得通信和计算能够重叠进行。非阻塞集体通信操作的使用模式与非阻塞点对点操作相同。调用非阻塞集体操作会在本地启动相应的操作,并且需要一个单独的完成操作来测试该操作是否已在本地完成。

具体来说,调用非阻塞集体通信操作会立即将控制权返回给调用进程,指定的通信操作会在后台执行。在后台通信期间,调用进程可以执行其他本地计算操作,从而实现通信和计算的重叠。不过,只有在完成操作返回后,才能安全地覆盖调用进程为通信操作提供的缓冲区资源。

一个进程可以依次发出多个非阻塞集体操作,并且多个非阻塞集体操作可以同时处于未完成状态。对于非阻塞集体通信操作,使用与非阻塞点对点操作相同的完成操作,如 MPI Test() MPI Wait() 。完成后,非阻塞集体操作对进程间数据移动的影响与其阻塞对应操作相同。

下面给出两个非阻塞集体通信操作的例子:
- 非阻塞广播操作 :通过以下MPI调用启动:

int MPI_Ibcast (void *message,
                int count,
                MPI_Da
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值