Changeset 1374 for XIOS/dev/branch_openmp/extern
- Timestamp:
- 12/13/17 15:12:08 (7 years ago)
- Location:
- XIOS/dev/branch_openmp/extern/src_ep_dev
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_message.cpp
r1362 r1374 37 37 Debug("Message probing for intracomm\n"); 38 38 39 40 //#ifdef _openmpi41 39 #pragma omp critical (_mpi_call) 42 40 { … … 51 49 } 52 50 } 53 //#elif _intelmpi 54 //#pragma omp critical (_mpi_call) 55 //{ 56 // ::MPI_Iprobe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm.mpi_comm), &flag, &status); 57 // if(flag) 58 // { 59 // Debug("find message in mpi comm \n"); 60 // mpi_source = status.MPI_SOURCE; 61 // int tag = status.MPI_TAG; 62 // ::MPI_Mprobe(mpi_source, tag, to_mpi_comm(comm.mpi_comm), &message, &status); 63 // } 64 //} 65 //#endif 51 66 52 67 53 if(flag) … … 90 76 } 91 77 92 delete msg_block; 78 delete msg_block; 93 79 } 94 80 … … 117 103 Debug("Message probing for intracomm\n"); 118 104 119 //#ifdef _openmpi120 105 #pragma omp critical (_mpi_call) 121 106 { … … 170 155 Debug("Message probing for intracomm\n"); 171 156 172 //#ifdef _openmpi173 157 #pragma omp critical (_mpi_call) 174 158 { -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_recv.cpp
r1373 r1374 101 101 102 102 ::MPI_Request mpi_request; 103 //::MPI_Message mpi_message = *(static_cast< ::MPI_Message* >(message->mpi_message));104 103 ::MPI_Imrecv(buf, count, to_mpi_type(datatype), static_cast< ::MPI_Message* >(message->mpi_message), &mpi_request); 105 //::MPI_Imrecv(buf, count, to_mpi_type(datatype), &mpi_message, &mpi_request);106 104 107 105 request->mpi_request = new ::MPI_Request(mpi_request); … … 121 119 122 120 ::MPI_Status mpi_status; 123 //::MPI_Message mpi_message = *(static_cast< ::MPI_Message* >(message->mpi_message));124 121 ::MPI_Mrecv(buf, count, to_mpi_type(datatype), static_cast< ::MPI_Message* >(message->mpi_message), &mpi_status); 125 //::MPI_Mrecv(buf, count, to_mpi_type(datatype), &mpi_message, &mpi_status);126 122 127 123 status->mpi_status = new ::MPI_Status(mpi_status); -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_test.cpp
r1373 r1374 25 25 { 26 26 ::MPI_Status mpi_status; 27 ::MPI_Test( (request->mpi_request), flag, &mpi_status);27 ::MPI_Test(static_cast< ::MPI_Request*>(request->mpi_request), flag, &mpi_status); 28 28 29 29 if(*flag) … … 50 50 ::MPI_Status mpi_status; 51 51 52 ::MPI_Test( (request->mpi_request), flag, &mpi_status);52 ::MPI_Test(static_cast< ::MPI_Request*>(request->mpi_request), flag, &mpi_status); 53 53 54 54 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_type.cpp
r1373 r1374 67 67 } 68 68 69 MPI_Request::MPI_Request( int* request)69 MPI_Request::MPI_Request(void* request) 70 70 { 71 //mpi_request = request; 72 mpi_request = new int; 73 *mpi_request = *request; 74 } 75 76 // MPI_Request::MPI_Request(void* request) 77 // { 78 // //mpi_request = request; 79 // mpi_request = new int; 80 // static_cast< ::MPI_Request>(*mpi_request) = *(static_cast< ::MPI_Request*>(request); 81 // } 82 83 MPI_Request::MPI_Request() 84 { 85 //mpi_request = request; 86 mpi_request = new int; 87 //*(static_cast< ::MPI_Request*>(mpi_request)) = *(static_cast< ::MPI_Request*>(request)); 71 mpi_request = new ::MPI_Request; 72 *(static_cast< ::MPI_Request*>(mpi_request)) = *static_cast< ::MPI_Request*>(request); 88 73 } 89 74 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_type.hpp
r1373 r1374 230 230 public: 231 231 232 int* mpi_request;232 void* mpi_request; 233 233 234 234 int type; //! type of the non-blocking communication. 1: Isend; 2:Irecv; 3:Imrecv; 4:Issend … … 241 241 MPI_Comm comm; //! EP communicator related to the communication 242 242 243 MPI_Request() ;244 MPI_Request( int* request);243 MPI_Request() {} 244 MPI_Request(void* request); 245 245 bool operator == (MPI_Request right); 246 246 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_wait.cpp
r1373 r1374 34 34 //::MPI_Request mpi_request = static_cast< ::MPI_Request >(request->mpi_request); 35 35 ::MPI_Status mpi_status; 36 ::MPI_Wait( (request->mpi_request), &mpi_status);36 ::MPI_Wait(static_cast< ::MPI_Request*>(request->mpi_request), &mpi_status); 37 37 38 38 … … 81 81 finished.at(i) = 1; 82 82 //mpi_request[i] = static_cast< ::MPI_Request >(array_of_requests[i].mpi_request); 83 mpi_request[i] = * (array_of_requests[i].mpi_request);83 mpi_request[i] = *static_cast< ::MPI_Request*>(array_of_requests[i].mpi_request); 84 84 } 85 85 }
Note: See TracChangeset
for help on using the changeset viewer.