@@ -220,18 +220,23 @@ ucp_datatype_t mca_pml_ucx_init_datatype(ompi_datatype_t *datatype)
220
220
if (mca_pml_ucx_datatype_is_contig (datatype )) {
221
221
ompi_datatype_type_size (datatype , & size );
222
222
ucp_datatype = ucp_dt_make_contig (size );
223
- goto out ;
224
- }
225
-
226
- status = ucp_dt_create_generic (& pml_ucx_generic_datatype_ops ,
227
- datatype , & ucp_datatype );
228
- if (status != UCS_OK ) {
229
- int err = MPI_ERR_INTERN ;
230
- PML_UCX_ERROR ("Failed to create UCX datatype for %s" , datatype -> name );
231
- /* TODO: this error should return to the caller and invoke an error
232
- * handler from the MPI API call.
233
- * For now, it is fatal. */
234
- ompi_mpi_errors_are_fatal_comm_handler (NULL , & err , "Failed to allocate datatype structure" );
223
+ PML_UCX_VERBOSE (7 , "created contig UCX datatype 0x%" PRIx64 ,
224
+ ucp_datatype )
225
+ } else {
226
+ status = ucp_dt_create_generic (& pml_ucx_generic_datatype_ops ,
227
+ datatype , & ucp_datatype );
228
+ if (status != UCS_OK ) {
229
+ int err = MPI_ERR_INTERN ;
230
+ PML_UCX_ERROR ("Failed to create UCX datatype for %s" ,
231
+ datatype -> name );
232
+ /* TODO: this error should return to the caller and invoke an error
233
+ * handler from the MPI API call.
234
+ * For now, it is fatal. */
235
+ ompi_mpi_errors_are_fatal_comm_handler (NULL , & err ,
236
+ "Failed to allocate "
237
+ "datatype structure" );
238
+ }
239
+ PML_UCX_VERBOSE (7 , "created generic UCX datatype 0x%" PRIx64 , ucp_datatype )
235
240
}
236
241
237
242
/* Add custom attribute, to clean up UCX resources when OMPI datatype is
@@ -254,8 +259,6 @@ ucp_datatype_t mca_pml_ucx_init_datatype(ompi_datatype_t *datatype)
254
259
ompi_mpi_errors_are_fatal_comm_handler (NULL , & err , "Failed to allocate datatype structure" );
255
260
}
256
261
}
257
- out :
258
- PML_UCX_VERBOSE (7 , "created generic UCX datatype 0x%" PRIx64 , ucp_datatype )
259
262
260
263
#ifdef HAVE_UCP_REQUEST_PARAM_T
261
264
UCS_STATIC_ASSERT (sizeof (datatype -> pml_data ) >= sizeof (pml_ucx_datatype_t * ));
0 commit comments