Advertisement
Guest User

Untitled

a guest
May 2nd, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1.     //UPSWEEP
  2.     for(int i = 0; i <= logn; i++){
  3.         poc++;
  4.         //jedna se o listy?
  5.         if(myid >= proc){
  6.             MPI_Recv(&mynumber, BUFFSIZE, MPI_INT, (int)((myid-1)/2), TAG, MPI_COMM_WORLD, &stat);              
  7.             MPI_Send(&myChar, BUFFSIZE, MPI_INT, (int)((myid-1)/2), TAG, MPI_COMM_WORLD);
  8.         }
  9.         else{//zadost o hodnotu
  10.             MPI_Send(&mynumber, BUFFSIZE, MPI_INT, (int)((myid*2)+1), TAG, MPI_COMM_WORLD);
  11.             MPI_Send(&mynumber, BUFFSIZE, MPI_INT, (int)((myid*2)+2), TAG, MPI_COMM_WORLD);    
  12.         }
  13.  
  14.         MPI_Recv(&left, BUFFSIZE, MPI_INT, (int)((myid*2)+1), TAG, MPI_COMM_WORLD, &stat);
  15.         MPI_Recv(&right, BUFFSIZE, MPI_INT, (int)((myid*2)+2), TAG, MPI_COMM_WORLD, &stat);
  16.         if((left + right) != 20){
  17.             myChar = getSumChars(left, right);
  18.             if(!myid)
  19.                 cout<<"konec, poc: "<<poc<<" pismeno: "<<myChar<<endl;
  20.         }
  21.         //nejedna se o roota
  22.         if(myid){              
  23.             MPI_Send(&myChar, BUFFSIZE, MPI_INT, (int)((myid-1)/2), TAG, MPI_COMM_WORLD);
  24.         }
  25.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement