mpi4py 中的组与通信子小结

本文从本人简书博客同步过来

上一篇中我们介绍了 mpi4py 中的组间通信方法, 下面我们将对组及通信子做一个简短的小结。

组在 MPI 环境中指的是一组进程标识所组成的有效集合,而通信子定义了封装 MPI 通信的基本模型。组对象存在于通信子环境内,为通信子定义和描述通信参与者(进程),并提供表示和管理进程的若干功能。组与通信子对象都可在运行时刻动态创建和删除。某进程可同时属于一个以上的组/通信子,分别在各自组/通信子内拥有唯一的 rank。

通信子可分为组内通信子和组间通信子。MPI.COMM_WORLD 和 MPI.COMM_SELF 是 mpi4py 中两个预定义的组内通信子,前者包含启动时的所有进程,而后者仅包含进程自身。组间通信子允许一个组内的进程与另一个组的进程进行通信。

从应用程序角度来看,组与通信子实际在功能上是一类,涉及组的操作为构造通信子对象的功能提供了一个底层支持。设计组与通信子机制的目的不外乎如下几个:

  • 支持根据功能对任务进行分组——即构建任务组;
  • 可将集合操作约束在某个子集合内;
  • 为用户自定义虚拟拓扑提供支持;
  • 确保通信安全。

以上简要总结了 mpi4py 中的组与通信子的基本概念和用途,在下一篇中我们将进行集合通信的介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值