•
datatype
— lbii_j_^Z\Z_fuowe_f_glh\
•
source
— ghf_jjZkkueZxs_]hijhp_kkZ
•
comm
— b^_glbnbdZlhjdhffmgbdZlhjZ
JZkkuedZkhh[s_gbyhl ijhp_kkZ
source
\k_fijhp_kkZf ^Zggh]hdhffmgbdZ
lhjZ\dexqZyjZkkueZxsbcijhp_kkIjb\ha\jZl_baijhp_^mjukh^_j`bfh_
[mn_jZ
buf
ijhp_kkZ
source
[m^_l kdhibjh\Zgh \ ehdZevguc [mn_j dZ`^h]h
ijhp_kkZdhffmgbdZlhjZ
comm
AgZq_gbyiZjZf_ljh\
count
,
datatype
,
source
b
comm
^he`gu [ulvh^bgZdh\ufb m\k_o ijhp_kkh\<j_amevlZl_\uiheg_gby
ke_^mxs_]hhi_jZlhjZ\k_fbijhp_kkZfbdhffmgbdZlhjZ
comm
:
MPI_Bcast(array, 100, MPI_INT, 0, comm);
i_j\u_klhp_euoqbk_ebafZkkb\Z
array
gme_\h]hijhp_kkZ[m^mlkdhibjh\Z
gu\ehdZevgu_[mn_jZ
array
dZ`^h]hijhp_kkZdhffmgbdZlhjZ
comm
.
int MPI_Gather( void *sbuf, int scount, MPI_Datatype stype, void
*rbuf, int rcount, MPI_Datatype rtype, int dest, MPI_Comm comm)
•
sbuf
— Z^j_kgZqZeZ[mn_jZihkuedb
•
scount
— qbkehwe_f_glh\\ihkueZ_fhfkhh[s_gbb
•
stype
— lbiwe_f_glh\hlkueZ_fh]hkhh[s_gby
•
OUT rbuf
— Z^j_kgZqZeZ[mn_jZk[hjdb^Zgguo
•
rcount
— qbkehwe_f_glh\\ijbgbfZ_fhfkhh[s_gbb
•
rtype
— lbiwe_f_glh\ijbgbfZ_fh]hkhh[s_gby
•
dest
— ghf_jijhp_kkZgZdhlhjhfijhbkoh^blk[hjdZ^Zgguo
•
comm
— b^_glbnbdZlhjdhffmgbdZlhjZ
K[hjdZ^Zgguo kh\k_oijhp_kkh\\[mn_j_
rbuf
ijhp_kkZ
dest
DZ`^ucijh
p_kk \dexqZy
dest
ihkueZ_l kh^_j`bfh_ k\h_]h [mn_jZ
sbuf
ijhp_kkm
dest
.
Kh[bjZxsbcijhp_kkkhojZgy_l^Zggu_\[mn_j_
rbuf
jZkiheZ]Zybo\ihjy^d_
\hajZklZgby ghf_jh\ ijhp_kkh\ GZ ijhp_kk_
dest
kms_kl\_ggufb y\eyxlky
agZq_gby \k_o iZjZf_ljh\ ZgZ \k_o hklZevguo ijhp_kkZo — lhevdh agZq_gby
iZjZf_ljh\
sbuf
,
scount
,
stype
,
dest
b
comm
AgZq_gbyiZjZf_ljh\
dest
b
comm
^he`gu [ulv h^bgZdh\ufb m \k_o ijhp_kkh\IZjZf_lj
rcount
m ijhp_kkZ
dest
h[hagZqZ_lqbkehwe_f_glh\lbiZ
rtype
ijbgbfZ_fuog_hl\k_oijhp_k
kh\\kmff_ZhldZ`^h]hijhp_kkZKihfhsvxihoh`_cnmgdpbb
MPI_Gatherv
fh`ghijbgbfZlvhlijhp_kkh\fZkkb\u^ZgguojZaebqghc^ebgu
int MPI_Scatter(void *sbuf, int scount, MPI_Datatype stype, void
*rbuf, int rcount, MPI_Datatype rtype, int source, MPI_Comm comm)
•
sbuf
— Z^j_kgZqZeZ[mn_jZihkuedb
•
scount
— qbkehwe_f_glh\\ihkueZ_fhfkhh[s_gbb