parallel / 6-2010
.pdf
)
, * $
(
).
2008
$ :
- ;
$ ;
, , $
;
;
" $ -
.
. MPI-2.
MPI_Intercomm_create.
2008
2008
+ .
$ . %
:
$ (group1)
$ (group2), $;
2008
,
.
$ ;
2008
$
, .
$ .
2008
& . 0 , $ , ,
MPI_COMM_WORLD.
, ,
$ MPI_COMM_NULL.
1 group, $ comm
, . MPI_Comm_group:
int MPI_Comm_group(MPI_Comm comm, MPI_Group *group)
MPI_Comm_group(comm, group, ierr)
- .
1 $ $ $
.
2008
( MPI_Group_incl newgroup n
, oldgroup. *
ranks:
int MPI_Group_incl(MPI_Group oldgroup, int n, int *ranks, MPI_Group *newgroup)
MPI_Group_incl(oldgroup, n, ranks, newgroup, ierr)
$ ranks[0], …, ranks[n — 1], i $
ranks[i] $ . ( n = 0
MPI_GROUP_EMPTY.
+ $
,
$ .
( MPI_Group_excl newgroup,
$ (group) ranks[0], …,
ranks[n — 1]:
int MPI_Group_excl(MPI_Group oldgroup, int n, int *ranks, MPI_Group *newgroup)
MPI_Group_excl(oldgroup, n, ranks, newgroup, ierr)
( n = 0 $.
2008
( MPI_Group_range_incl newgroup
group, n ,
ranks:
int MPI_Group_range_incl(MPI_Group oldgroup, int n, int ranks[][3], MPI_Group *newgroup)
MPI_Group_range_incl(oldgroup, n, ranks, newgroup, ierr)
2 ranks ( $_1,
$_1, ._1), …, ( $_n, $_n, ._n).
$ ( $ ) $_1,
$_1 + ._1, ….
2008
