328  9.   SPMD  MPMD   ...

 Result;

Result = ()
//. . .

}

  mpiTask ()      ,  
    operator ().

//. . .
MPI_Init(&argc,&argv) ;

MPI_Comm_rank(MPI_COMM_WORLD,&TaskRank) ;

MPI_Comm_size(MPI_COMM_WORLD,&WorldSize) ;

//. . .

iffTaskRank == 0) {

//. . .

user_defined_type M;

mpiTask(M) ;

//. . .
}

if(TaskRank == N){
//. . .
some_other_userde?ined_type N;

mpiTask(N) ;

}

//....

        
 . }',   MPI-   ,  
  ,     operator (),   
 mpiTask ()      
operator (). ,     ,  -
  mpirun,    -  
MPI-      .

9.3.    
MPI-

      MPI-   -
  ,       MPI-
,    . 

MPI_Send ()  MPI_Recv ()   :

MPI_Send(Buffer,Count,MPI_LONG,TaskRank,Tag,Comm) ;

MPI_Recv(Buffer,Count,MPI_INT,TaskRank,Tag,Comm,
&Status) ;

    ,     
   ,      -
 .       
          -
 .  . 9.3   MPI-   
    .