.


:




:

































 

 

 

 


e




int main(intargc,char **argv)

{

intsize,rank;

MPI_Status status;

MPI_Init(&argc,&argv);

MPI_Comm_rank(MPI_COMM_WORLD,&rank);

MPI_Comm_size(MPI_COMM_WORLD,&size);

float s,s0=1,s1=0,n=10,i,p;

int k;

if(rank==0)

{ for (i=0; i<n/2; i++)

{p=1;

for (k=1; k<=i+1; k++)

{p=p*(k); }

s0=s0+(1.0)/p;

}

MPI_Send(&s0,1,MPI_FLOAT,1,5,MPI_COMM_WORLD);

}

if(rank==1)

{

for (i=n/2; i<n; i++)

{ p=1;

for (k=1; k<=i+1; k++)

{p=p*k;}

s1=s1+(1.0)/p;

}

MPI_Recv(&s0,1,MPI_FLOAT,0,5,MPI_COMM_WORLD,&status);

s=s1+s0;

printf("s=%f ",s);

}

}

 

. SISD, SIMD.

. . :

SISD (Single Instruction Stream Single Data Stream) ;

SIMD (Single Instruction Stream Multiple Data Stream) ;

MISD (Multiple Instruction Stream Single Data Stream) ;

MIMD (MultipleInstructionStream MultipleDataStream) .

SISD , "" , ( - ). , , . , , .

SIMD ( ), , , . , . , , . . , . , . SIMD , "" . SIMD.

MPI PVM.

PVM (ParallelVirtualMachine) . UNIX , . MPI (MessageParsingInterface). MPI . , . MPI. MPI . , , , .

MPI PVM : 1. MPI PVM , 2. MPI PVM MPMD ; 3. MPI PVM ; 4. MPI PVM .

MPI PVM : 1. PVM , MPI; 2. PVM ( MPI-2 ); 3. PVM , ( MPI-2 ).

 





:


: 2016-07-29; !; : 520 |


:

:

.
==> ...

2001 - | 1876 -


© 2015-2024 lektsii.org - -

: 0.014 .