@@ -477,11 +477,12 @@ int mca_pml_ucx_irecv_init(void *buf, size_t count, ompi_datatype_t *datatype,
477477 PML_UCX_TRACE_RECV ("irecv_init request *%p=%p" , buf , count , datatype , src ,
478478 tag , comm , (void * )request , (void * )req );
479479
480- req -> ompi .req_state = OMPI_REQUEST_INACTIVE ;
481- req -> flags = 0 ;
482- req -> buffer = buf ;
483- req -> count = count ;
484- req -> datatype .datatype = mca_pml_ucx_get_datatype (datatype );
480+ req -> ompi .req_state = OMPI_REQUEST_INACTIVE ;
481+ req -> ompi .req_mpi_object .comm = comm ;
482+ req -> flags = 0 ;
483+ req -> buffer = buf ;
484+ req -> count = count ;
485+ req -> datatype .datatype = mca_pml_ucx_get_datatype (datatype );
485486
486487 PML_UCX_MAKE_RECV_TAG (req -> tag , req -> recv .tag_mask , tag , src , comm );
487488
@@ -510,7 +511,8 @@ int mca_pml_ucx_irecv(void *buf, size_t count, ompi_datatype_t *datatype,
510511 }
511512
512513 PML_UCX_VERBOSE (8 , "got request %p" , (void * )req );
513- * request = req ;
514+ req -> req_mpi_object .comm = comm ;
515+ * request = req ;
514516 return OMPI_SUCCESS ;
515517}
516518
@@ -582,13 +584,15 @@ int mca_pml_ucx_isend_init(const void *buf, size_t count, ompi_datatype_t *datat
582584 return OMPI_ERROR ;
583585 }
584586
585- req -> ompi .req_state = OMPI_REQUEST_INACTIVE ;
586- req -> flags = MCA_PML_UCX_REQUEST_FLAG_SEND ;
587- req -> buffer = (void * )buf ;
588- req -> count = count ;
589- req -> tag = PML_UCX_MAKE_SEND_TAG (tag , comm );
590- req -> send .mode = mode ;
591- req -> send .ep = ep ;
587+ req -> ompi .req_state = OMPI_REQUEST_INACTIVE ;
588+ req -> ompi .req_mpi_object .comm = comm ;
589+ req -> flags = MCA_PML_UCX_REQUEST_FLAG_SEND ;
590+ req -> buffer = (void * )buf ;
591+ req -> count = count ;
592+ req -> tag = PML_UCX_MAKE_SEND_TAG (tag , comm );
593+ req -> send .mode = mode ;
594+ req -> send .ep = ep ;
595+
592596 if (MCA_PML_BASE_SEND_BUFFERED == mode ) {
593597 req -> datatype .ompi_datatype = datatype ;
594598 OBJ_RETAIN (datatype );
@@ -706,7 +710,8 @@ int mca_pml_ucx_isend(const void *buf, size_t count, ompi_datatype_t *datatype,
706710 return OMPI_SUCCESS ;
707711 } else if (!UCS_PTR_IS_ERR (req )) {
708712 PML_UCX_VERBOSE (8 , "got request %p" , (void * )req );
709- * request = req ;
713+ req -> req_mpi_object .comm = comm ;
714+ * request = req ;
710715 return OMPI_SUCCESS ;
711716 } else {
712717 PML_UCX_ERROR ("ucx send failed: %s" , ucs_status_string (UCS_PTR_STATUS (req )));
@@ -786,7 +791,7 @@ int mca_pml_ucx_send(const void *buf, size_t count, ompi_datatype_t *datatype, i
786791}
787792
788793int mca_pml_ucx_iprobe (int src , int tag , struct ompi_communicator_t * comm ,
789- int * matched , ompi_status_public_t * mpi_status )
794+ int * matched , ompi_status_public_t * mpi_status )
790795{
791796 static unsigned progress_count = 0 ;
792797
@@ -811,7 +816,7 @@ int mca_pml_ucx_iprobe(int src, int tag, struct ompi_communicator_t* comm,
811816}
812817
813818int mca_pml_ucx_probe (int src , int tag , struct ompi_communicator_t * comm ,
814- ompi_status_public_t * mpi_status )
819+ ompi_status_public_t * mpi_status )
815820{
816821 ucp_tag_t ucp_tag , ucp_tag_mask ;
817822 ucp_tag_recv_info_t info ;
0 commit comments