- Timestamp:
- 01/23/19 10:31:44 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/src/client_client_dht_template_impl.hpp
r1545 r1642 169 169 recvIndexBuff = new unsigned long[recvNbIndexCount]; 170 170 171 int request_size = 0;171 int request_size = 0; 172 172 for (int idx = 0; idx < recvRankClient.size(); ++idx) 173 173 { … … 179 179 180 180 std::vector<ep_lib::MPI_Request> request(request_size); 181 182 181 std::vector<int>::iterator itbRecvIndex = recvRankClient.begin(), itRecvIndex, 183 182 iteRecvIndex = recvRankClient.end(), … … 253 252 } 254 253 255 int requestOnReturn_size=0;254 int requestOnReturn_size=0; 256 255 for (int idx = 0; idx < recvRankOnReturn.size(); ++idx) 257 256 { … … 482 481 483 482 std::vector<ep_lib::MPI_Request> request(request_size); 483 484 484 int currentIndex = 0; 485 485 int nbRecvClient = recvRankClient.size(); … … 489 489 if (0 != recvNbIndexClientCount[idx]) 490 490 { 491 recvIndexFromClients(recvRankClient[idx], recvIndexBuff+currentIndex, recvNbIndexClientCount[idx], commLevel, &request[request_position++]); 492 recvInfoFromClients(recvRankClient[idx], 491 recvIndexFromClients(recvRankClient[idx], recvIndexBuff+currentIndex, recvNbIndexClientCount[idx], commLevel, &request[request_position++]); 492 //if(clientRank==0) printf("recv index request = %p, inserted = %p, request = %d\n", &request[0], request.back(), *static_cast< int*>(request.back()->mpi_request)); 493 recvInfoFromClients(recvRankClient[idx], 493 494 recvInfoBuff+currentIndex*ProcessDHTElement<InfoType>::typeSize(), 494 495 recvNbIndexClientCount[idx]*ProcessDHTElement<InfoType>::typeSize(), 495 496 commLevel, &request[request_position++]); 497 //if(clientRank==0) printf("recv info request = %p, inserted = %p, request = %d\n", &request[0], request.back(), *static_cast< int*>(request.back()->mpi_request)); 496 498 } 497 499 currentIndex += recvNbIndexClientCount[idx]; … … 501 503 iteIndex = client2ClientIndex.end(); 502 504 for (itIndex = itbIndex; itIndex != iteIndex; ++itIndex) 503 sendIndexToClients(itIndex->first, itIndex->second, sendNbIndexBuff[itIndex->first-groupRankBegin], commLevel, &request[request_position++]); 505 { sendIndexToClients(itIndex->first, itIndex->second, sendNbIndexBuff[itIndex->first-groupRankBegin], commLevel, &request[request_position++]); 506 } //if(clientRank==0) printf("send index request = %p, inserted = %p, request = %d\n", &request[0], request.back(), *static_cast< int*>(request.back()->mpi_request));} 504 507 std::unordered_map<int, unsigned char*>::iterator itbInfo = client2ClientInfo.begin(), itInfo, 505 508 iteInfo = client2ClientInfo.end(); 506 509 for (itInfo = itbInfo; itInfo != iteInfo; ++itInfo) 507 sendInfoToClients(itInfo->first, itInfo->second, sendNbInfo[itInfo->first-groupRankBegin], commLevel, &request[request_position++]); 510 { sendInfoToClients(itInfo->first, itInfo->second, sendNbInfo[itInfo->first-groupRankBegin], commLevel, &request[request_position++]); 511 }// if(clientRank==0) printf("send info request = %p, inserted = %p, request = %d\n", &request[0], request.back(), *static_cast< int*>(request.back()->mpi_request));} 508 512 509 513 std::vector<ep_lib::MPI_Status> status(request.size()); 514 510 515 ep_lib::MPI_Waitall(request.size(), &request[0], &status[0]); 511 516 … … 566 571 ep_lib::MPI_Request request; 567 572 requestSendIndex.push_back(request); 568 ep_lib::MPI_Isend(indices, indiceSize, MPI_UNSIGNED_LONG,573 ep_lib::MPI_Isend(indices, indiceSize, EP_UNSIGNED_LONG, 569 574 clientDestRank, MPI_DHT_INDEX, clientIntraComm, &(requestSendIndex.back())); 570 575 } … … 583 588 ep_lib::MPI_Request* requestSendIndex) 584 589 { 585 ep_lib::MPI_Isend(indices, indiceSize, MPI_UNSIGNED_LONG,590 ep_lib::MPI_Isend(indices, indiceSize, EP_UNSIGNED_LONG, 586 591 clientDestRank, MPI_DHT_INDEX, clientIntraComm, requestSendIndex); 587 592 } … … 601 606 ep_lib::MPI_Request request; 602 607 requestRecvIndex.push_back(request); 603 ep_lib::MPI_Irecv(indices, indiceSize, MPI_UNSIGNED_LONG,608 ep_lib::MPI_Irecv(indices, indiceSize, EP_UNSIGNED_LONG, 604 609 clientSrcRank, MPI_DHT_INDEX, clientIntraComm, &(requestRecvIndex.back())); 605 610 } … … 617 622 ep_lib::MPI_Request *requestRecvIndex) 618 623 { 619 ep_lib::MPI_Irecv(indices, indiceSize, MPI_UNSIGNED_LONG,624 ep_lib::MPI_Irecv(indices, indiceSize, EP_UNSIGNED_LONG, 620 625 clientSrcRank, MPI_DHT_INDEX, clientIntraComm, requestRecvIndex); 621 626 } … … 637 642 requestSendInfo.push_back(request); 638 643 639 ep_lib::MPI_Isend(info, infoSize, MPI_CHAR,644 ep_lib::MPI_Isend(info, infoSize, EP_CHAR, 640 645 clientDestRank, MPI_DHT_INFO, clientIntraComm, &(requestSendInfo.back())); 641 646 } … … 654 659 ep_lib::MPI_Request *requestSendInfo) 655 660 { 656 ep_lib::MPI_Isend(info, infoSize, MPI_CHAR,661 ep_lib::MPI_Isend(info, infoSize, EP_CHAR, 657 662 clientDestRank, MPI_DHT_INFO, clientIntraComm, requestSendInfo); 658 663 } … … 674 679 requestRecvInfo.push_back(request); 675 680 676 ep_lib::MPI_Irecv(info, infoSize, MPI_CHAR,681 ep_lib::MPI_Irecv(info, infoSize, EP_CHAR, 677 682 clientSrcRank, MPI_DHT_INFO, clientIntraComm, &(requestRecvInfo.back())); 678 683 } … … 691 696 ep_lib::MPI_Request* requestRecvInfo) 692 697 { 693 ep_lib::MPI_Irecv(info, infoSize, MPI_CHAR,698 ep_lib::MPI_Irecv(info, infoSize, EP_CHAR, 694 699 clientSrcRank, MPI_DHT_INFO, clientIntraComm, requestRecvInfo); 695 700 } … … 767 772 for (int idx = 0; idx < recvNbRank.size(); ++idx) 768 773 { 769 ep_lib::MPI_Irecv(&recvNbElements[0]+idx, 1, MPI_INT,774 ep_lib::MPI_Irecv(&recvNbElements[0]+idx, 1, EP_INT, 770 775 recvNbRank[idx], MPI_DHT_INDEX_1, this->internalComm_, &request[nRequest]); 771 776 ++nRequest; … … 774 779 for (int idx = 0; idx < sendNbRank.size(); ++idx) 775 780 { 776 ep_lib::MPI_Isend(&sendNbElements[0]+idx, 1, MPI_INT,781 ep_lib::MPI_Isend(&sendNbElements[0]+idx, 1, EP_INT, 777 782 sendNbRank[idx], MPI_DHT_INDEX_1, this->internalComm_, &request[nRequest]); 778 783 ++nRequest; … … 808 813 std::vector<ep_lib::MPI_Request> request(sendBuffSize+recvBuffSize); 809 814 std::vector<ep_lib::MPI_Status> requestStatus(sendBuffSize+recvBuffSize); 815 810 816 int nRequest = 0; 811 817 for (int idx = 0; idx < recvBuffSize; ++idx) 812 818 { 813 ep_lib::MPI_Irecv(&recvBuff[0]+2*idx, 2, MPI_INT, 814 recvRank[idx], MPI_DHT_INDEX_0, this->internalComm_, &request[nRequest++]); 819 ep_lib::MPI_Irecv(&recvBuff[0]+2*idx, 2, EP_INT, 820 recvRank[idx], MPI_DHT_INDEX_0, this->internalComm_, &request[nRequest]); 821 ++nRequest; 815 822 } 816 823 … … 824 831 for (int idx = 0; idx < sendBuffSize; ++idx) 825 832 { 826 ep_lib::MPI_Isend(&sendBuff[idx*2], 2, MPI_INT, 827 sendRank[idx], MPI_DHT_INDEX_0, this->internalComm_, &request[nRequest++]); 833 ep_lib::MPI_Isend(&sendBuff[idx*2], 2, EP_INT, 834 sendRank[idx], MPI_DHT_INDEX_0, this->internalComm_, &request[nRequest]); 835 ++nRequest; 828 836 } 829 837
Note: See TracChangeset
for help on using the changeset viewer.