高性能计算中MPI通信器创建与解释型语言的评估
在高性能计算(HPC)领域,消息传递接口(MPI)是广泛使用的标准。本文将探讨MPI通信器创建的相关算法,以及解释型语言(如Python和C#)在MPI中的应用和性能评估。
1. MPI通信器创建算法
在MPI中,通信器创建是一个重要的操作。传统的MPI通信器创建例程执行单个全归约步骤,时间复杂度为O(log p)。而组集体通信器创建算法,其中的互通信器创建和合并步骤执行全归约操作,需要O(log p)个通信步骤,并且这些步骤会重复log p次,因此时间复杂度为O(log² p)。
可以通过扩展MPI来提供一种直接的方法来形成组集体通信器,从而消除与组集体通信器创建相关的额外log p成本。以下是两种具体的方法:
1.1 组集体通信器创建
MPI可以通过在标准中包含组集体通信器创建例程,来更有效地支持组集体通信器的创建。这样的例程形式如下:
int MPIX_Group_comm_create(MPI_Comm in, MPI_Group grp, int tag, MPI_Comm *out)
在这个例程中,输入的内部通信器和标签用于创建输出的内部通信器。通信器和标签为MPI提供了一个安全的非集体通信通道,标签在多线程环境中确保该例程的安全性起着重要作用。新通信器的创建是在输入组的成员上进行集体操作,并且输入组必须是输入通信器组的子集。
1.2 广义多通信器
另一种方法是通过单个多通信器创建和合并步骤来完成通信器的创建,从而消除创建成本
超级会员免费看
订阅专栏 解锁全文
565

被折叠的 条评论
为什么被折叠?



