.


:




:

































 

 

 

 


.




- . . MPI_Group , . , , : MPI_GROUP_EMPTY , , ; MPI_GROUP_NULL , . MPI, - . , - (, , ), "" : , , .

. MPI , . . MPI_Comm_rank . , . MPI . MPI_COMM_WORLD, . . MPI_Comm_rank , . MPI_Comm_size . , 0 , . -, . MPI-

var p:pointer;

rank,size:integer;

begin

//

p:=nil;

rank:=0;

MPI_Init(@rank,p);

MPI_Comm_rank(MPI_COMM_WORLD,@rank);

MPI_Comm_size(MPI_COMM_WORLD,@size);

if rank=0 then begin

//

end else begin

//

end; MPI_Finalize(); end.

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. ү. . .

, , , .

, . , , . . . , . , . , . , , . , . . , , , , , . , . , , . , : , . , . .

Semaphore fork[5] = { 1, 1, 1, 1, 1 };

Prilosopher(){ // i

while (1) { P(fork[i]); // P(fork[(i+1)%5]); // <>

V(fork[i]); V(fork[(i+1)%5]) } }





:


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


:

:

, .
==> ...

1810 - | 1629 -


© 2015-2024 lektsii.org - -

: 0.008 .