第六章进程组与通信器§6.1基本概念§6.1.1进程组是一组进程的有序集合,定义了通信器中进程的集合及其序号。MPI中的进程组与通信器类似,通过句柄进行操作。MPI程序创建时预定义了两个进程组句柄:MPI_GROUP_EMPTY表示空进程组集合,MPI_GROUP_NULL表示非法进程组。进程组句柄是进程内部固有的,只对本进程有意义。因此,进程组句柄在进程间传递时没有意义。§6.1.2上下文(Context)是通信器的固有属性,为通信器定义特定的通信空间。消息在特定上下文中传递,不允许不同上下文间的消息混淆,确保不同通信器中消息的独立性。MPI实现中上下文是内部概念,对用户不可见。§6.1.3域内通信器(Intracommunicator)由进程组和上下文构成,通信器的进程组必须包含定义通信器的进程作为成员。域内通信器支持点对点通信和聚合通信,可以定义进程间的拓扑联接方式等附加属性。MPI预定义的域内通信器包括MPI_COMM_WORLD、MPI_COMM_SELF和MPI_COMM_NULL,其中MPI_COMM_NULL表示非法通信器。§6.1.4域间通信器(Intercommunicator)用于不同进程组之间的点对点通信,由两个进程组构成,不能定义进程的拓扑联接信息,也不能用于聚合通信。§6.2进程组操作函数§6.2.1查询进程组大小和进程在组中的序号C int MPI_Group_size(MPI_Group group, int size) int MPI_Group_rank(MPI_Group group, int rank) Fortran 77 59