update mxm mtl to changes in mxm api
This commit was SVN r26073.
Этот коммит содержится в:
родитель
97b3603036
Коммит
540b3c0c25
@ -58,11 +58,6 @@ mca_mtl_mxm_component_t mca_mtl_mxm_component = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static void ompi_mtl_mxm_progress_cb(void *user_data)
|
|
||||||
{
|
|
||||||
opal_progress();
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ompi_mtl_mxm_component_register(void)
|
static int ompi_mtl_mxm_component_register(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -94,7 +89,6 @@ static int ompi_mtl_mxm_component_open(void)
|
|||||||
return OPAL_ERR_NOT_AVAILABLE;
|
return OPAL_ERR_NOT_AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
mxm_set_progress_cb(ompi_mtl_mxm.mxm_context, ompi_mtl_mxm_progress_cb, NULL);
|
|
||||||
return OMPI_SUCCESS;
|
return OMPI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,12 +30,18 @@ static void ompi_mtl_mxm_send_completion_cb(void *context)
|
|||||||
mtl_mxm_request->super.completion_callback(&mtl_mxm_request->super);
|
mtl_mxm_request->super.completion_callback(&mtl_mxm_request->super);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ompi_mtl_mxm_send_progress_cb(void *user_data)
|
||||||
|
{
|
||||||
|
opal_progress();
|
||||||
|
}
|
||||||
|
|
||||||
int ompi_mtl_mxm_send(struct mca_mtl_base_module_t* mtl,
|
int ompi_mtl_mxm_send(struct mca_mtl_base_module_t* mtl,
|
||||||
struct ompi_communicator_t* comm, int dest, int tag,
|
struct ompi_communicator_t* comm, int dest, int tag,
|
||||||
struct opal_convertor_t *convertor,
|
struct opal_convertor_t *convertor,
|
||||||
mca_pml_base_send_mode_t mode)
|
mca_pml_base_send_mode_t mode)
|
||||||
{
|
{
|
||||||
mxm_send_req_t mxm_send_req;
|
mxm_send_req_t mxm_send_req;
|
||||||
|
mxm_wait_t wait;
|
||||||
bool free_after;
|
bool free_after;
|
||||||
mxm_error_t err;
|
mxm_error_t err;
|
||||||
int ret;
|
int ret;
|
||||||
@ -44,7 +50,7 @@ int ompi_mtl_mxm_send(struct mca_mtl_base_module_t* mtl,
|
|||||||
mxm_send_req.base.state = MXM_REQ_NEW;
|
mxm_send_req.base.state = MXM_REQ_NEW;
|
||||||
mxm_send_req.base.mq = ompi_mtl_mxm_mq_lookup(comm);
|
mxm_send_req.base.mq = ompi_mtl_mxm_mq_lookup(comm);
|
||||||
mxm_send_req.base.conn = ompi_mtl_mxm_conn_lookup(comm, dest);
|
mxm_send_req.base.conn = ompi_mtl_mxm_conn_lookup(comm, dest);
|
||||||
mxm_send_req.base.flags = MXM_REQ_FLAG_WAIT;
|
mxm_send_req.base.flags = MXM_REQ_FLAG_BLOCKING;
|
||||||
mxm_send_req.base.data_type = MXM_REQ_DATA_BUFFER;
|
mxm_send_req.base.data_type = MXM_REQ_DATA_BUFFER;
|
||||||
ret = ompi_mtl_datatype_pack(convertor, &mxm_send_req.base.data.buffer.ptr,
|
ret = ompi_mtl_datatype_pack(convertor, &mxm_send_req.base.data.buffer.ptr,
|
||||||
&mxm_send_req.base.data.buffer.length,
|
&mxm_send_req.base.data.buffer.length,
|
||||||
@ -73,7 +79,11 @@ int ompi_mtl_mxm_send(struct mca_mtl_base_module_t* mtl,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* wait for request completion */
|
/* wait for request completion */
|
||||||
mxm_req_wait(&mxm_send_req.base);
|
wait.req = &mxm_send_req.base;
|
||||||
|
wait.state = MXM_REQ_COMPLETED;
|
||||||
|
wait.progress_cb = ompi_mtl_mxm_send_progress_cb;
|
||||||
|
wait.progress_arg = NULL;
|
||||||
|
mxm_wait(&wait);
|
||||||
|
|
||||||
return OMPI_SUCCESS;
|
return OMPI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user