2
2
* Copyright (c) 2021 Mellanox Technologies. All rights reserved.
3
3
* Copyright (c) 2022 Amazon.com, Inc. or its affiliates.
4
4
* All Rights reserved.
5
- * Copyright (c) 2022-2024 NVIDIA Corporation. All rights reserved.
5
+ * Copyright (c) 2022-2025 NVIDIA Corporation. All rights reserved.
6
6
* Copyright (c) 2024 Triad National Security, LLC. All rights reserved.
7
7
* $COPYRIGHT$
8
8
*
@@ -150,7 +150,7 @@ static ucc_status_t oob_allgather_test(void *req)
150
150
size_t msglen = oob_req -> msglen ;
151
151
int probe_count = 5 ;
152
152
int rank , size , sendto , recvfrom , recvdatafrom ,
153
- senddatafrom , completed , probe ;
153
+ senddatafrom , completed , probe , rc ;
154
154
155
155
size = ompi_comm_size (comm );
156
156
rank = ompi_comm_rank (comm );
@@ -175,10 +175,16 @@ static ucc_status_t oob_allgather_test(void *req)
175
175
senddatafrom = (rank - oob_req -> iter + size ) % size ;
176
176
tmprecv = (char * )oob_req -> rbuf + (ptrdiff_t )recvdatafrom * (ptrdiff_t )msglen ;
177
177
tmpsend = (char * )oob_req -> rbuf + (ptrdiff_t )senddatafrom * (ptrdiff_t )msglen ;
178
- MCA_PML_CALL (isend (tmpsend , msglen , MPI_BYTE , sendto , MCA_COLL_BASE_TAG_UCC ,
178
+ rc = MCA_PML_CALL (isend (tmpsend , msglen , MPI_BYTE , sendto , MCA_COLL_BASE_TAG_UCC ,
179
179
MCA_PML_BASE_SEND_STANDARD , comm , & oob_req -> reqs [0 ]));
180
- MCA_PML_CALL (irecv (tmprecv , msglen , MPI_BYTE , recvfrom ,
180
+ if (OMPI_SUCCESS != rc ) {
181
+ return UCC_ERR_NO_MESSAGE ;
182
+ }
183
+ rc = MCA_PML_CALL (irecv (tmprecv , msglen , MPI_BYTE , recvfrom ,
181
184
MCA_COLL_BASE_TAG_UCC , comm , & oob_req -> reqs [1 ]));
185
+ if (OMPI_SUCCESS != rc ) {
186
+ return UCC_ERR_NO_MESSAGE ;
187
+ }
182
188
}
183
189
probe = 0 ;
184
190
do {
@@ -206,6 +212,8 @@ static ucc_status_t oob_allgather(void *sbuf, void *rbuf, size_t msglen,
206
212
oob_req -> msglen = msglen ;
207
213
oob_req -> oob_coll_ctx = oob_coll_ctx ;
208
214
oob_req -> iter = 0 ;
215
+ oob_req -> reqs [0 ] = MPI_REQUEST_NULL ;
216
+ oob_req -> reqs [1 ] = MPI_REQUEST_NULL ;
209
217
* req = oob_req ;
210
218
return UCC_OK ;
211
219
}
0 commit comments