Changeset 1373 for XIOS/dev/branch_openmp/extern
- Timestamp:
- 12/13/17 14:42:26 (7 years ago)
- Location:
- XIOS/dev/branch_openmp/extern/src_ep_dev
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_declaration.cpp
r1369 r1373 100 100 ep_lib::MPI_Comm MPI_COMM_NULL(&MPI_COMM_NULL_STD); 101 101 102 ep_lib::MPI_Request MPI_REQUEST_NULL( MPI_REQUEST_NULL_STD);102 ep_lib::MPI_Request MPI_REQUEST_NULL(&MPI_REQUEST_NULL_STD); 103 103 ep_lib::MPI_Info MPI_INFO_NULL(&MPI_INFO_NULL_STD); 104 104 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_recv.cpp
r1362 r1373 61 61 ::MPI_Irecv(buf, count, to_mpi_type(datatype), src<0? MPI_ANY_SOURCE : src, tag<0? MPI_ANY_TAG: tag, to_mpi_comm(comm.mpi_comm), &mpi_request); 62 62 63 request->mpi_request = mpi_request;63 request->mpi_request = new ::MPI_Request(mpi_request); 64 64 request->ep_src = src; 65 65 request->ep_datatype = datatype; … … 67 67 } 68 68 69 request->mpi_request = MPI_REQUEST_NULL.mpi_request;70 69 request->buf = buf; 71 70 request->comm = comm; … … 106 105 //::MPI_Imrecv(buf, count, to_mpi_type(datatype), &mpi_message, &mpi_request); 107 106 108 request->mpi_request = mpi_request;107 request->mpi_request = new ::MPI_Request(mpi_request); 109 108 request->ep_datatype = datatype; 110 109 request->ep_tag = message->ep_tag; -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_send.cpp
r1328 r1373 74 74 ::MPI_Isend(buf, count, to_mpi_type(datatype), dest, tag, to_mpi_comm(comm.mpi_comm), &mpi_request); 75 75 76 request->mpi_request = mpi_request;76 request->mpi_request = new ::MPI_Request(mpi_request); 77 77 78 78 request->ep_src = src_rank; … … 104 104 ::MPI_Isend(buf, count, to_mpi_type(datatype), mpi_dest, mpi_tag, to_mpi_comm(comm.mpi_comm), &mpi_request); 105 105 106 request->mpi_request = mpi_request;106 request->mpi_request = new ::MPI_Request(mpi_request); 107 107 request->type = 1; // used in wait 108 108 request->comm = comm; … … 131 131 ::MPI_Issend(buf, count, to_mpi_type(datatype), dest, tag, to_mpi_comm(comm.mpi_comm), &mpi_request); 132 132 133 request->mpi_request = mpi_request;133 request->mpi_request = new ::MPI_Request(mpi_request); 134 134 request->ep_src = src_rank; 135 135 request->ep_tag = tag; … … 160 160 ::MPI_Issend(buf, count, to_mpi_type(datatype), mpi_dest, mpi_tag, to_mpi_comm(comm.mpi_comm), &mpi_request); 161 161 162 request->mpi_request = mpi_request;162 request->mpi_request = new ::MPI_Request(mpi_request); 163 163 request->type = 1; // used in wait 164 164 request->comm = comm; … … 206 206 ::MPI_Isend(buf, count, to_mpi_type(datatype), mpi_dest, mpi_tag, to_mpi_comm(comm.mpi_comm), &mpi_request); 207 207 208 request->mpi_request = mpi_request;208 request->mpi_request = new ::MPI_Request(mpi_request); 209 209 request->type = 1; // used in wait 210 210 request->comm = comm; … … 227 227 ::MPI_Isend(buf, count, to_mpi_type(datatype), mpi_dest, mpi_tag, to_mpi_comm(comm.ep_comm_ptr->intercomm->mpi_inter_comm), &mpi_request); 228 228 229 request->mpi_request = mpi_request;229 request->mpi_request = new ::MPI_Request(mpi_request); 230 230 request->type = 1; // used in wait 231 231 request->comm = comm; … … 277 277 ::MPI_Issend(buf, count, to_mpi_type(datatype), mpi_dest, mpi_tag, to_mpi_comm(comm.mpi_comm), &mpi_request); 278 278 279 request->mpi_request = mpi_request;279 request->mpi_request = new ::MPI_Request(mpi_request); 280 280 request->type = 1; // used in wait 281 281 request->comm = comm; … … 298 298 ::MPI_Issend(buf, count, to_mpi_type(datatype), mpi_dest, mpi_tag, to_mpi_comm(comm.ep_comm_ptr->intercomm->mpi_inter_comm), &mpi_request); 299 299 300 request->mpi_request = mpi_request;300 request->mpi_request = new ::MPI_Request(mpi_request); 301 301 request->type = 1; // used in wait 302 302 request->comm = comm; -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_test.cpp
r1295 r1373 25 25 { 26 26 ::MPI_Status mpi_status; 27 ::MPI_Test( &(request->mpi_request), flag, &mpi_status);27 ::MPI_Test((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((request->mpi_request), flag, &mpi_status); 53 53 54 54 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_type.cpp
r1369 r1373 67 67 } 68 68 69 MPI_Request::MPI_Request(int* request) 70 { 71 //mpi_request = request; 72 mpi_request = new int; 73 *mpi_request = *request; 74 } 75 69 76 // MPI_Request::MPI_Request(void* request) 70 77 // { 71 // mpi_request = new ::MPI_Request; 72 // *(static_cast< ::MPI_Request*>(mpi_request)) = *(static_cast< ::MPI_Request*>(request)); 78 // //mpi_request = request; 79 // mpi_request = new int; 80 // static_cast< ::MPI_Request>(*mpi_request) = *(static_cast< ::MPI_Request*>(request); 73 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)); 88 } 89 74 90 MPI_Aint::MPI_Aint(void* aint) 75 91 { -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_type.hpp
r1369 r1373 230 230 public: 231 231 232 int mpi_request;232 int* 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):mpi_request(request) {}243 MPI_Request(); 244 MPI_Request(int* request); 245 245 bool operator == (MPI_Request right); 246 246 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_wait.cpp
r1362 r1373 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((request->mpi_request), &mpi_status); 37 37 38 38 … … 80 80 { 81 81 finished.at(i) = 1; 82 mpi_request[i] = static_cast< ::MPI_Request >(array_of_requests[i].mpi_request); 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 84 } 84 85 } … … 89 90 for(int i=0; i<count; i++) 90 91 { 91 array_of_statuses[i].mpi_status = &mpi_status ;92 array_of_statuses[i].mpi_status = &mpi_status[i]; 92 93 array_of_statuses[i].ep_src = array_of_requests[i].ep_src; 93 94 array_of_statuses[i].ep_tag = array_of_requests[i].ep_tag;
Note: See TracChangeset
for help on using the changeset viewer.