Changeset 1520 for XIOS/dev/branch_openmp/extern/ep_dev/ep_test.cpp
- Timestamp:
- 06/04/18 19:25:08 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/ep_dev/ep_test.cpp
r1500 r1520 33 33 status->ep_tag = (*request)->ep_tag; 34 34 status->ep_datatype = (*request)->ep_datatype; 35 //delete request->mpi_request; 35 delete (*request)->mpi_request; 36 delete request; 36 37 } 37 38 … … 60 61 status->ep_tag = (*request)->ep_tag; 61 62 status->ep_datatype = (*request)->ep_datatype; 62 //delete request->mpi_request; 63 delete (*request)->mpi_request; 64 delete request; 63 65 //int count; 64 66 //MPI_Get_count(status, request->ep_datatype, &count); … … 75 77 { 76 78 Debug("MPI_Testall with EP"); 77 *flag = true; 78 int i=0; 79 while(*flag && i<count ) 79 80 ::MPI_Request* mpi_request = new ::MPI_Request[count]; 81 ::MPI_Status* mpi_status = new ::MPI_Status[count]; 82 83 84 for(int i=0; i<count; i++) 80 85 { 81 MPI_Test(&array_of_requests[i], flag, &array_of_statuses[i]); 82 i++; 86 mpi_request[i] = *static_cast< ::MPI_Request*>(array_of_requests[i]->mpi_request); 87 } 88 89 ::MPI_Testall(count, mpi_request, flag, mpi_status); 90 91 if(flag) 92 { 93 for(int i=0; i<count; i++) 94 { 95 array_of_statuses[i].mpi_status = &mpi_status[i]; 96 array_of_statuses[i].ep_src = array_of_requests[i]->ep_src; 97 array_of_statuses[i].ep_tag = array_of_requests[i]->ep_tag; 98 array_of_statuses[i].ep_datatype = array_of_requests[i]->ep_datatype; 99 100 memcheck("delete "<< array_of_requests[i]->mpi_request <<" : in ep_lib::MPI_Waitall, array_of_requests["<<i<<"]->mpi_request"); 101 delete array_of_requests[i]->mpi_request; 102 delete array_of_requests[i]; 103 } 104 83 105 } 84 106 … … 87 109 88 110 } 111
Note: See TracChangeset
for help on using the changeset viewer.