- Timestamp:
- 05/31/17 10:51:06 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan_merged/extern/remap/src/mapper.cpp
r1147 r1149 270 270 MPI_Status *status = new MPI_Status[4*mpiSize]; 271 271 272 MPI_Waitall(nbRecvRequest, recvRequest, status); 272 273 MPI_Waitall(nbSendRequest, sendRequest, status); 273 MPI_Waitall(nbRecvRequest, recvRequest, status);274 274 275 275 276 /* for all indices that have been received from requesting ranks: pack values and gradients, then send */ … … 300 301 sendNeighIds[rank][j] = sstree.localElements[recvElement[rank][j]].src_id; 301 302 } 302 MPI_Issend(sendValue[rank], 303 MPI_Issend(sendValue[rank], nbRecvElement[rank], MPI_DOUBLE, rank, 0, communicator, &sendRequest[nbSendRequest]); 303 304 nbSendRequest++; 304 MPI_Issend(sendArea[rank], 305 MPI_Issend(sendArea[rank], nbRecvElement[rank], MPI_DOUBLE, rank, 0, communicator, &sendRequest[nbSendRequest]); 305 306 nbSendRequest++; 306 307 if (order == 2) … … 317 318 MPI_Issend(sendNeighIds[rank], 4*nbRecvElement[rank], MPI_INT, rank, 0, communicator, &sendRequest[nbSendRequest]); 318 319 //ym --> attention taille GloId 319 nbSendRequest++; 320 320 nbSendRequest++; 321 321 } 322 322 } … … 345 345 } 346 346 347 MPI_Waitall(nbSendRequest, sendRequest, status);348 347 MPI_Waitall(nbRecvRequest, recvRequest, status); 348 MPI_Waitall(nbSendRequest, sendRequest, status); 349 349 350 350 351 … … 407 408 } 408 409 } 409 410 410 411 /* free all memory allocated in this function */ 411 for (int rank = 0; rank < mpiSize; rank++)412 /*for (int rank = 0; rank < mpiSize; rank++) 412 413 { 413 414 if (nbSendElement[rank] > 0) … … 446 447 delete[] sendNeighIds; 447 448 delete[] recvNeighIds; 449 */ 448 450 return i; 449 451 } … … 546 548 } 547 549 } 548 550 551 MPI_Waitall(nbRecvRequest, recvRequest, status); 549 552 MPI_Waitall(nbSendRequest, sendRequest, status); 550 MPI_Waitall(nbRecvRequest, recvRequest, status);551 553 552 554 for (int rank = 0; rank < mpiSize; rank++) … … 619 621 } 620 622 623 MPI_Waitall(nbRecvRequest, recvRequest, status); 621 624 MPI_Waitall(nbSendRequest, sendRequest, status); 622 MPI_Waitall(nbRecvRequest, recvRequest, status);623 625 624 626 int nbNeighbourNodes = 0; … … 803 805 } 804 806 807 MPI_Waitall(nbRecvRequest, recvRequest, status); 805 808 MPI_Waitall(nbSendRequest, sendRequest, status); 806 MPI_Waitall(nbRecvRequest, recvRequest, status);809 807 810 808 811 char **sendBuffer2 = new char*[mpiSize]; … … 878 881 { 879 882 MPI_Issend(sendBuffer2[rank], sentMessageSize[rank], MPI_CHAR, rank, 0, communicator, &sendRequest[nbSendRequest]); 880 printf("proc %d send %d elements to proc %d\n", mpiRank, sentMessageSize[rank], rank);881 883 nbSendRequest++; 882 884 } … … 884 886 { 885 887 MPI_Irecv(recvBuffer2[rank], recvMessageSize[rank], MPI_CHAR, rank, 0, communicator, &recvRequest[nbRecvRequest]); 886 printf("proc %d recv %d elements from proc %d\n", mpiRank, recvMessageSize[rank], rank);887 888 nbRecvRequest++; 888 889 } 889 890 } 890 891 892 MPI_Waitall(nbRecvRequest, recvRequest, status); 891 893 MPI_Waitall(nbSendRequest, sendRequest, status); 892 MPI_Waitall(nbRecvRequest, recvRequest, status);894 893 895 894 896
Note: See TracChangeset
for help on using the changeset viewer.