|
12 | 12 | * Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. |
13 | 13 | * Copyright (c) 2015-2021 Research Organization for Information Science |
14 | 14 | * and Technology (RIST). All rights reserved. |
| 15 | + * Copyright (c) 2025 Triad National Security, LLC. All rights |
| 16 | + * reserved. |
15 | 17 | * $COPYRIGHT$ |
16 | 18 | * |
17 | 19 | * Additional copyrights may follow |
@@ -78,7 +80,7 @@ void ompi_alltoallw_init_f(char *sendbuf, MPI_Fint *sendcounts, |
78 | 80 | MPI_Datatype *c_sendtypes = NULL, *c_recvtypes; |
79 | 81 | MPI_Info c_info; |
80 | 82 | MPI_Request c_request; |
81 | | - int size, idx = 0, c_ierr; |
| 83 | + int size, c_ierr; |
82 | 84 | OMPI_ARRAY_NAME_DECL(sendcounts); |
83 | 85 | OMPI_ARRAY_NAME_DECL(sdispls); |
84 | 86 | OMPI_ARRAY_NAME_DECL(recvcounts); |
@@ -119,20 +121,19 @@ void ompi_alltoallw_init_f(char *sendbuf, MPI_Fint *sendcounts, |
119 | 121 | if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); |
120 | 122 | if (MPI_SUCCESS == c_ierr) { |
121 | 123 | *request = PMPI_Request_c2f(c_request); |
122 | | - ompi_coll_base_nbc_request_t* nb_request = (ompi_coll_base_nbc_request_t*)c_request; |
123 | | - nb_request->data.release_arrays[idx++] = c_recvtypes; |
124 | | - if (recvcounts != OMPI_ARRAY_NAME_CONVERT(recvcounts)) { |
125 | | - nb_request->data.release_arrays[idx++] = OMPI_ARRAY_NAME_CONVERT(recvcounts); |
126 | | - nb_request->data.release_arrays[idx++] = OMPI_ARRAY_NAME_CONVERT(rdispls); |
| 124 | + ompi_coll_base_append_array_to_release(c_request, c_recvtypes); |
| 125 | + if ((void *)recvcounts != (void *)OMPI_ARRAY_NAME_CONVERT(recvcounts)) { |
| 126 | + ompi_coll_base_append_array_to_release(c_request, OMPI_ARRAY_NAME_CONVERT(recvcounts)); |
| 127 | + ompi_coll_base_append_array_to_release(c_request, OMPI_ARRAY_NAME_CONVERT(rdispls)); |
127 | 128 | } |
128 | 129 | if (NULL != c_sendtypes) { |
129 | | - nb_request->data.release_arrays[idx++] = c_sendtypes; |
130 | | - if (sendcounts != OMPI_ARRAY_NAME_CONVERT(sendcounts)) { |
131 | | - nb_request->data.release_arrays[idx++] = OMPI_ARRAY_NAME_CONVERT(sendcounts); |
132 | | - nb_request->data.release_arrays[idx++] = OMPI_ARRAY_NAME_CONVERT(sdispls); |
| 130 | + ompi_coll_base_append_array_to_release(c_request, c_sendtypes); |
| 131 | + if ((void *)sendcounts != (void *)OMPI_ARRAY_NAME_CONVERT(sendcounts)) { |
| 132 | + ompi_coll_base_append_array_to_release(c_request, OMPI_ARRAY_NAME_CONVERT(sendcounts)); |
| 133 | + ompi_coll_base_append_array_to_release(c_request, OMPI_ARRAY_NAME_CONVERT(sdispls)); |
133 | 134 | } |
134 | 135 | } |
135 | | - nb_request->data.release_arrays[idx] = NULL; |
| 136 | + ompi_coll_base_run_release_arrays_cb(c_request); |
136 | 137 | } else { |
137 | 138 | OMPI_ARRAY_FINT_2_INT_CLEANUP(sendcounts); |
138 | 139 | OMPI_ARRAY_FINT_2_INT_CLEANUP(sdispls); |
|
0 commit comments