MPI_COMM_GROUP(COMM, GROUP, IERR)
INTEGER COMM, GROUP, IERR
Ihemq_gb_ ]jmiiu
GROUP
khhl\_lkl\mxs_c dhffmgbdZlhjm
COMM
< yaud_
KbiZjZf_lj
GROUP
bf__lij_^hij_^_e_gguclbi
MPI_Group
Ihkdhevdmba
-
gZqZevgh kms_kl\m_l _^bgkl\_gguc g_ljb\bZevguc dhffmgbdZlhj
MPI_COMM_WORLD
kgZqZeZ gm`gh ihemqblv khhl\_lkl\mxsmx _fm ]jmiim
ijhp_kkh\Wlhfh`ghk^_eZlvijbihfhsbke_^mxs_]h\uah\Z
call MPI_COMM_GROUP(MPI_COMM_WORLD, group, ierr)
MPI_GROUP_INCL(GROUP, N, RANKS, NEWGROUP, IERR)
INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
Kha^Zgb_]jmiiu
NEWGROUP
ba
N
ijhp_kkh\ij_`g_c]jmiiu
GROUP
kjZg]Zfb
RANKS(1),…,RANKS(N)
ijbq_f jZg]m
RANKS(I)
\ klZjhc ]jmii_ khhl\_lkl
-
\m_l jZg]
I-1
\ gh\hc ]jmii_ Ijb
N=0
kha^Z_lky imklZy ]jmiiZ
MPI_GROUP_EMPTY
<hafh`ghbkihevah\Zgb_wlhcijhp_^mju^eyaZ^Zgbygh
-
\h]hihjy^dZijhp_kkh\\]jmii_
MPI_GROUP_EXCL(GROUP, N, RANKS, NEWGROUP, IERR)
INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
Kha^Zgb_]jmiiu
NEWGROUP
baijhp_kkh\]jmiiu
GROUP
bkdexqZyijhp_kku
k jZg]Zfb
RANKS(1),…,RANKS(N)
ijbq_f ihjy^hd hklZ\rboky ijhp_kkh\ \
gh\hc ]jmii_ khhl\_lkl\m_l ihjy^dm ijhp_kkh\ \ klZjhc ]jmii_ Ijb
N=0
kha^Z_lky]jmiiZb^_glbqgZyklZjhc]jmii_
< ke_^mxs_f ijbf_j_ kha^Z_lky ^\_ g_i_j_k_dZxsboky ]jmiiu ijhp_kkh\
group1
b
group2
gZhkgh\_ijhp_kkh\]jmiiu
group
<dZ`^mxbakha^Z\Z_
-
fuo ]jmii \hc^_l ijbf_jgh iheh\bgZ ijhp_kkh\ ij_`g_c ]jmiiuijb g_
-
q_lghf qbke_ ijhp_kkh\ \ ]jmiim
group2
\hc^_l gZ h^bg ijhp_kk [hevr_
Ihjy^hdgmf_jZpbbijhp_kkh\\h\gh\vkha^Z\Z_fuo]jmiiZokhojZgblky
size1 = size/2
do i = 1, size1
ranks(i) = i-1
enddo
call MPI_GROUP_INCL(group, size1, ranks, group1, ierr)
call MPI_GROUP_EXCL(group, size1, ranks, group2, ierr)
Ke_^mxsb_ ljb ijhp_^mju hij_^_eyxl hi_jZpbb gZ^ ]jmiiZfb ijhp_kkh\
dZd gZ^fgh`_kl\ZfbBa
-
aZhkh[_gghkl_cgmf_jZpbbijhp_kkh\gbh[t_^b
-
g_gb_gbi_j_k_q_gb_]jmiig_dhffmlZlb\gughZkkhpbZlb\gu
MPI_GROUP_INTERSECTION(GROUP1, GROUP2, NEWGROUP, IERR)
INTEGER GROUP1, GROUP2, NEWGROUP, IERR
Kha^Zgb_ ]jmiiu
NEWGROUP
ba i_j_k_q_gby ]jmii
GROUP1
b
GROUP2
Ihem
-
q_ggZy ]jmiiZ kh^_j`bl \k_ ijhp_kku ]jmiiu
GROUP1
\oh^ysb_ lZd`_ \
]jmiim
GROUP2
bmihjy^hq_ggu_dZd\i_j\hc]jmii_