python中mpi4py的所有基础使用案例详解
python中mpi4py的基础使用
大多数 MPI 程序都可以使用命令 mpiexec 运行。在实践中,运行 Python 程序如下所示:
案例1:测试comm.send 和comm.recv函数,代码如下
rank代表进程编号,其总数是mpiexec -n中的n的个数,最大的n受到电脑cpu内核数的限制
dest代表发送的目标,tag是一个标志位可以忽略,source为数据来源rank标志
案例2:具有非阻塞通讯的python对象
案例3: 快速发送实例
这里的Send和Recv都是大写,用于numpy数据的传输
案例4:集体通讯,广播机制
广播机制就是将当前root=0端口下的所有信息发送到任何一个进程
案例5:scatter,将root=0下的数据一次分发到各个rank下
案例6:gather,将所有rank下的数据收集到root下
案例7,numpy的广播机制
与之前一样都是大写
案例8:numpy的Scatter机制
案例9:numpy的Gather机制
案例10 :allgather机制
allgather就是 scatter 加上广播机制。
rank0 = a
rank1 = b
rank2 = c
allgather后结果为
rank0 = a,b,c
rank1 = a,b,c
rank2 = a,b,c
到此这篇关于一文读懂python中mpi4py的所有基础使用的文章就介绍到这了,更多相关python mpi4py使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!