9.2.      MPI- 321

multiplies<int>(7,2) ;

multiplies<rational>("7/2","3/4") ;

//. . .

     double, int  rational , -
      .    
  -.  ,      -
  .       
(   multiplies ())        .

9.2.1.     SPMD
( )

     MPI-  -
 ,       ,  
   . ,   TaskRank ,  -
 ,          .
  9.2 ,       .

// 9.2.    
//              " " MPI-

int main(int argc, char *argv[])
{

//. . .
int Tag = 2 ;

int WorldSize;

int TaskRank;

MPI_Status Status;

MPI_Init(&argc,&argv) ;

MPI_Comm_rank (MPI_COMM_WORLD, ScTaskRank) ;

MPI_Comm_size(MPI_COMM_WORLD,&WorldSize) ;

//. . .
switch(TaskRank)
{

case 1: multiplies<double>(3.2,4.6);

break ;

case 2: multiplies<complex>(X,Y)
break ;

//case n:

//. . .
}
}

       ,    
case  9.2    MPI-.  ,  
      
.          
 ,    . ,  -
 9.3     search ().