Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //UPSWEEP
- for(int i = 0; i <= logn; i++){
- poc++;
- //jedna se o listy?
- if(myid >= proc){
- MPI_Recv(&mynumber, BUFFSIZE, MPI_INT, (int)((myid-1)/2), TAG, MPI_COMM_WORLD, &stat);
- MPI_Send(&myChar, BUFFSIZE, MPI_INT, (int)((myid-1)/2), TAG, MPI_COMM_WORLD);
- }
- else{//zadost o hodnotu
- MPI_Send(&mynumber, BUFFSIZE, MPI_INT, (int)((myid*2)+1), TAG, MPI_COMM_WORLD);
- MPI_Send(&mynumber, BUFFSIZE, MPI_INT, (int)((myid*2)+2), TAG, MPI_COMM_WORLD);
- }
- MPI_Recv(&left, BUFFSIZE, MPI_INT, (int)((myid*2)+1), TAG, MPI_COMM_WORLD, &stat);
- MPI_Recv(&right, BUFFSIZE, MPI_INT, (int)((myid*2)+2), TAG, MPI_COMM_WORLD, &stat);
- if((left + right) != 20){
- myChar = getSumChars(left, right);
- if(!myid)
- cout<<"konec, poc: "<<poc<<" pismeno: "<<myChar<<endl;
- }
- //nejedna se o roota
- if(myid){
- MPI_Send(&myChar, BUFFSIZE, MPI_INT, (int)((myid-1)/2), TAG, MPI_COMM_WORLD);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement