mpi.gather(Rmpi)
mpi.gather()所属R语言包:Rmpi
MPI\_Gather, MPI\_Gatherv, MPI\_Allgather, and MPI\_Allgatherv APIs
MPI \ _Gather,MPI \ _Gatherv,MPI \ _Allgather,和MPI \ _Allgatherv的API
译者:生物统计家园网 机器人LoveR
描述----------Description----------
mpi.gather and mpi.gatherv (vector variant) gather each member's message to the member specified by the argument root. The root member receives the messages and stores them in rank order. mpi.allgather and mpi.allgatherv are the same as mpi.gather and mpi.gatherv except that all members receive the result instead of just the root.
mpi.gather和mpi.gatherv(矢量的变体)收集每个成员的消息的说法root指定的成员。根成员收到的消息,并将其存储在排名顺序。 mpi.allgather和mpi.allgatherv是相同的mpi.gather和mpi.gatherv除非所有成员接受的结果,而不是仅仅根。
用法----------Usage----------
mpi.gather(x, type, rdata, root = 0, comm = 1)
mpi.gatherv(x, type, rdata, rcounts, root = 0, comm = 1)
mpi.allgather(x, type, rdata, comm = 1)
mpi.allgatherv(x, type, rdata, rcounts, comm = 1)
参数----------Arguments----------
参数:x
data to be gathered. Must be the same type.
被收集的数据。必须是同一类型。
参数:type
1 for integer, 2 for double, and 3 for character. Others are not supported.
1为整数,2双,和3的每个字符。其他不被支持。
参数:rdata
the receive buffer. Must be the same type as the sender and big enough to include all message gathered.
接收缓冲器。必须是同一类型的发送者和聚集足够大的,包括所有的消息。
参数:rcounts
int vector specifying the length of each message.
指定长度的整数向量的每个消息。
参数:root
rank of the receiver
排名的接收器
参数:comm
a communicator number
一个通信号
Details
详细信息----------Details----------
For mpi.gather and mpi.allgather, the message to be gathered must be the same dim and the same type. The receive buffer can be prepared as either integer(size * dim) or double(size * dim), where size is the total number of members in a comm. For mpi.gatherv and mpi.allgatherv, the message to be gathered can have different dims but must be the same type. The argument rcounts records these different dims into an integer vector in rank order. Then the receive buffer can be prepared as either integer(sum(rcounts)) or double(sum(rcounts)).
对于mpi.gather和mpi.allgather,要收集的信息必须是相同的暗淡和同一类型。准备接收缓冲区可以是整数(大小DIM)或双(大小DIM),其大小是成员总数的通讯。对于mpi.gatherv和mpi.allgatherv,要收集的信息可以有不同的变暗,但必须是同一类型。 rcounts的参数记录这些不同变暗,转换成整数向量中的排列顺序。然后,接收缓冲器可为任一整数(总和(rcounts))或双(总和(rcounts))制备。
值----------Value----------
For mpi.gather or mpi.gatherv, it returns the gathered message for the root member. For other members, it returns what is in rdata, i.e., rdata (or rcounts) is ignored. For mpi.allgather or mpi.allgatherv, it returns the gathered message for all members.
对于mpi.gather或mpi.gatherv,它返回的根成员所收集的信息。对于其他的成员,它返回什么是RDATA,即,RDATA(或rcounts)将被忽略。对于mpi.allgather或mpi.allgatherv,它返回的所有成员所收集的信息。
(作者)----------Author(s)----------
Hao Yu
参考文献----------References----------
http://www-unix.mcs.anl.gov/mpi/www/www3/
参见----------See Also----------
mpi.scatter, mpi.scatterv.
mpi.scatter,mpi.scatterv。
实例----------Examples----------
## Not run: [#不运行:]
#Need 3 slaves to run properly[需要3个从机正常运行]
#Or use mpi.spawn.Rslaves(nslaves=3)[或者使用mpi.spawn.Rslaves(nslaves = 3)]
mpi.bcast.cmd(id <-mpi.comm.rank(.comm), comm=1)
mpi.bcast.cmd(mpi.gather(letters[id],type=3,rdata=string(1)))
mpi.gather(letters[10],type=3,rdata=string(4))
mpi.bcast.cmd(x<-rnorm(id))
mpi.bcast.cmd(mpi.gatherv(x,type=2,rdata=double(1),rcounts=1))
mpi.gatherv(double(1),type=2,rdata=double(sum(1:3)+1),rcounts=c(1,1:3))
mpi.bcast.cmd(out1<-mpi.allgatherv(x,type=2,rdata=double(sum(1:3)+1),
rcounts=c(1,1:3)))
mpi.allgatherv(double(1),type=2,rdata=double(sum(1:3)+1),rcounts=c(1,1:3))
## End(Not run)[#(不执行)]
转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。
注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
|