我在程序中使用mpi4py。我运行的程序有n> 1个内核,每个内核都有它自己的列表(我们可以称之为“core_specific_list”的数字 我想排名0的内核收集所有列表中的一个大列表,我们可以称之为“ 。big_list”mpi4py的集合是否创建一个列表,其中的元素匹配行列?
我启动程序与(只是为了定义变量):
from mpi4py import MPI
comm = MPI.COMM_WORLD
因此,为了使大名单做到这一点,我让每个内核调用:
big_list = comm.gather(core_specific_list, root = 0)
这确实按预期创建big_list(其中每个元素是其他行列中的其中一个'core_specific_list')。而且它似乎也像每个列表元素按照发送它的排名的顺序(即,big_list的元素0是等级0的core_specific_list等)。
问题:但是这个假设是否正确?也就是说,是big_list中的元素j是rank j的core_specific_list? (据我所知,我可以像我一样在一些情况下测试这一点,但我需要绝对确定我可以依靠这个假设)
谢谢。
我感谢您的帮助。 – denvar 2014-10-28 20:43:15