@@ -95,6 +95,7 @@ Output variables:
95
95
int dest , source ;
96
96
MPI_Status stat ;
97
97
MPI_Request * requests = NULL ;
98
+ MPI_Status * statuses = (MPI_Status * )_alloca ((c_info -> max_win_size ) * sizeof (MPI_Status ));
98
99
99
100
int ws , peers ;
100
101
char ack ;
@@ -134,8 +135,7 @@ Output variables:
134
135
s_tag ,
135
136
c_info -> communicator ,
136
137
& requests [ws ]));
137
-
138
- MPI_Waitall (c_info -> max_win_size , & requests [0 ], MPI_STATUSES_IGNORE );
138
+ MPI_Waitall (c_info -> max_win_size , & requests [0 ], statuses );
139
139
MPI_Recv (& ack , 1 , MPI_CHAR , dest , r_tag , c_info -> communicator , & stat );
140
140
}
141
141
}
@@ -150,8 +150,7 @@ Output variables:
150
150
r_tag ,
151
151
c_info -> communicator ,
152
152
& requests [ws ]));
153
-
154
- MPI_Waitall (c_info -> max_win_size , & requests [0 ], MPI_STATUSES_IGNORE );
153
+ MPI_Waitall (c_info -> max_win_size , & requests [0 ], statuses );
155
154
MPI_Send (& ack , 1 , MPI_CHAR , source , s_tag , c_info -> communicator );
156
155
}
157
156
}
@@ -204,8 +203,8 @@ Output variables:
204
203
int s_tag , r_tag ;
205
204
int dest , source ;
206
205
MPI_Status stat ;
207
- const int max_win_size2 = 2 * c_info -> max_win_size ;
208
206
MPI_Request * requests = NULL ;
207
+ MPI_Status * statuses = (MPI_Status * )_alloca ((2 * c_info -> max_win_size ) * sizeof (MPI_Status ));
209
208
210
209
int ws , peers ;
211
210
char ack ;
@@ -255,7 +254,7 @@ Output variables:
255
254
c_info -> communicator ,
256
255
& requests [ws + c_info -> max_win_size ]));
257
256
258
- MPI_Waitall (max_win_size2 , & requests [0 ], MPI_STATUSES_IGNORE );
257
+ MPI_Waitall (2 * c_info -> max_win_size , & requests [0 ], statuses );
259
258
MPI_Recv (& ack , 1 , MPI_CHAR , dest , r_tag , c_info -> communicator , & stat );
260
259
}
261
260
}
@@ -279,7 +278,7 @@ Output variables:
279
278
c_info -> communicator ,
280
279
& requests [ws + c_info -> max_win_size ]));
281
280
282
- MPI_Waitall (max_win_size2 , & requests [0 ], MPI_STATUSES_IGNORE );
281
+ MPI_Waitall (2 * c_info -> max_win_size , & requests [0 ], statuses );
283
282
MPI_Send (& ack , 1 , MPI_CHAR , source , s_tag , c_info -> communicator );
284
283
}
285
284
}
0 commit comments