mpi学习日志(8):mpi4py与Group运算

今天,我们来学习一下Group的各种增删运算.


1.Incl

incl是挑选的意思.

你要把一个列表作为参数来调用Incl,列表里放的是一些下标(注意不是rank).

这些下标对应的进程会被挑选出来,形成一个新的group,并返回这个group.

PS:列表里放的是下标,不是rank!!!


mpi学习日志(8):mpi4py与Group运算_第1张图片


mpi学习日志(8):mpi4py与Group运算_第2张图片


mpi学习日志(8):mpi4py与Group运算_第3张图片


2.Excl

Incl对应的就是Excl,excl是剔除的意思.

excl接收的列表里的下标,会被剔除掉,然后返回这个剔除过的group.(注意原group和incl一样是没有变化的).




mpi学习日志(8):mpi4py与Group运算_第4张图片


mpi学习日志(8):mpi4py与Group运算_第5张图片


3.Intersection

求交集,这个和集合set的intersection运算是一样的.

另外,还有一个函数Intersect,好像它和Intersection是一样的...

还有注意的是,这些集合运算都是类方法.




mpi学习日志(8):mpi4py与Group运算_第6张图片


4.Union

求并集,用法和Intersection一样.


mpi学习日志(8):mpi4py与Group运算_第7张图片

注意到,新通信组和旧通信组的成员是完全一样的,但是rank并不是按原来的顺序.

这说明新rank和旧rank没有必然联系.


mpi学习日志(8):mpi4py与Group运算_第8张图片


5.Difference

求差集A-B,同上.

mpi学习日志(8):mpi4py与Group运算_第9张图片


你可能感兴趣的:(mpi学习)