.


:




:

































 

 

 

 


. SISD, SIMD




: SISD (Single Instruction Stream Single Data Stream) ; SIMD (Single Instruction Stream Multiple Data Stream) ; MISD (Multiple Instruction Stream Single Data Stream) ; MIMD (Multiple Instruction Stream Multiple Data Stream) . SISD , "" , ( - ). , , . SIMD ( ), , , . , . , , .

2. MPI? .

Message Passing Interface (MPI, ) (API) , , . , . MPI , . . MPI. 77/90,Java, ++.

MPI , . MPI . , : ( ) ; ; ; .

MPI : , , ++; ; , ; ; , . .

pi.

int main(int argc,char **argv)

{int size,rank;

MPI_Status status;

MPI_Init(&argc,&argv);

MPI_Comm_rank(MPI_COMM_WORLD,&rank);

MPI_Comm_size(MPI_COMM_WORLD,&size);

floatn=500.0,a=0.0,s=0.0,r=0.0;

if(rank!=0) {

for(int i=0; i<n; i+=2)

{s+=4*(pow(-1,i)/(2*i+1));}

MPI_Send(&s,1,MPI_FLOAT,0,1,MPI_COMM_WORLD); }

if(rank==0

{ for(int i=1; i<n; i+=2)

{s+=4*(pow(-1,i)/(2*i+1));}

MPI_Recv(&r,1,MPI_FLOAT,1,1,MPI_COMM_WORLD,&status); s+=r; //

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

}}

 

 

1. ? .

MPI , , MIMD. , , . MPI. , MPI . , MPI. MPI . . `` '' (``thread-safe''). MPI , MPI, ; MPI , . MPI . , . ; , ; . , MPI ( ), . , , . . 0,..., groupsize-1.





:


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


:

:

- , 20 40 . - .
==> ...

1704 - | 1652 -


© 2015-2024 lektsii.org - -

: 0.009 .