我已经阅读了这些术语的定义,我的解释是团体和沟通者之间存在一对一的关系.组是希望彼此通信的一组进程,并且通信器是组的实现.
它是否正确?如果是这样,为什么有两个不同的术语?
甲组是有序集合的进程标识符(MPI 2.2规范,仲6.2.1).通过将每个进程标识符与从0到group.size-1 的唯一等级相关联来给出排序.
甲通信封装一组的进程之间的所有通信.内部通信器与组相关联,以及用于点对点和集体通信的通信上下文以及可能的其他上下文信息,例如虚拟拓扑(规范,6.1.2).内部通信器与两个不重叠的组相关联.
我(可能非常松散地)将通信器组视为其符号表.
组可以包含来自多个通信器的进程标识符.
最后,组的构造和操作是进程的本地,并且不涉及进程间通信.对于传播者而言,这通常不是真的(就其本质而言).
我在阅读 MPI 规范后发现,传播者和组之间存在很多差异。
编辑:组是代表进程组的对象。
Communicator 是一组可以相互通信的进程,可以由来自单个组或多个组的进程组成。
因此,它们是完全不同的实体。它们不应相互混淆。