Adapt to the last commits from Tim.
This commit was SVN r5837.
Этот коммит содержится в:
родитель
2739c0b0c5
Коммит
4a7211468b
@ -41,8 +41,7 @@ mca_pml_uniq_t mca_pml_uniq = {
|
|||||||
{
|
{
|
||||||
mca_pml_uniq_add_procs,
|
mca_pml_uniq_add_procs,
|
||||||
mca_pml_uniq_del_procs,
|
mca_pml_uniq_del_procs,
|
||||||
mca_pml_uniq_add_ptls,
|
mca_pml_uniq_enable,
|
||||||
mca_pml_uniq_control,
|
|
||||||
mca_pml_uniq_progress,
|
mca_pml_uniq_progress,
|
||||||
mca_pml_uniq_add_comm,
|
mca_pml_uniq_add_comm,
|
||||||
mca_pml_uniq_del_comm,
|
mca_pml_uniq_del_comm,
|
||||||
@ -92,13 +91,12 @@ static int ptl_exclusivity_compare(const void* arg1, const void* arg2)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int mca_pml_uniq_add_ptls(ompi_list_t *ptls)
|
int mca_pml_uniq_add_ptls( void )
|
||||||
{
|
{
|
||||||
/* build an array of ptls and ptl modules */
|
/* build an array of ptls and ptl modules */
|
||||||
mca_ptl_base_selected_module_t* selected_ptl;
|
mca_ptl_base_selected_module_t* selected_ptl;
|
||||||
size_t num_ptls = ompi_list_get_size(ptls);
|
size_t num_ptls = ompi_list_get_size(&mca_ptl_base_modules_initialized);
|
||||||
size_t cache_bytes = 0;
|
size_t cache_bytes = 0;
|
||||||
|
|
||||||
mca_pml_uniq.uniq_num_ptl_modules = 0;
|
mca_pml_uniq.uniq_num_ptl_modules = 0;
|
||||||
mca_pml_uniq.uniq_num_ptl_progress = 0;
|
mca_pml_uniq.uniq_num_ptl_progress = 0;
|
||||||
mca_pml_uniq.uniq_num_ptl_components = 0;
|
mca_pml_uniq.uniq_num_ptl_components = 0;
|
||||||
@ -111,9 +109,11 @@ int mca_pml_uniq_add_ptls(ompi_list_t *ptls)
|
|||||||
return OMPI_ERR_OUT_OF_RESOURCE;
|
return OMPI_ERR_OUT_OF_RESOURCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(selected_ptl = (mca_ptl_base_selected_module_t*)ompi_list_get_first(ptls);
|
for(selected_ptl = (mca_ptl_base_selected_module_t*)
|
||||||
selected_ptl != (mca_ptl_base_selected_module_t*)ompi_list_get_end(ptls);
|
ompi_list_get_first(&mca_ptl_base_modules_initialized);
|
||||||
selected_ptl = (mca_ptl_base_selected_module_t*)ompi_list_get_next(selected_ptl)) {
|
selected_ptl != (mca_ptl_base_selected_module_t*)
|
||||||
|
ompi_list_get_end(&mca_ptl_base_modules_initialized);
|
||||||
|
selected_ptl = (mca_ptl_base_selected_module_t*)ompi_list_get_next(selected_ptl)) {
|
||||||
mca_ptl_base_module_t *ptl = selected_ptl->pbsm_module;
|
mca_ptl_base_module_t *ptl = selected_ptl->pbsm_module;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
@ -165,12 +165,13 @@ int mca_pml_uniq_add_ptls(ompi_list_t *ptls)
|
|||||||
* Pass control information through to all PTL modules.
|
* Pass control information through to all PTL modules.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int mca_pml_uniq_control(int param, void* value, size_t size)
|
int mca_pml_uniq_enable( bool enable )
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
|
int value = enable;
|
||||||
for( i = 0; i < mca_pml_uniq.uniq_num_ptl_components; i++ ) {
|
for( i = 0; i < mca_pml_uniq.uniq_num_ptl_components; i++ ) {
|
||||||
if(NULL != mca_pml_uniq.uniq_ptl_components[i]->ptlm_control) {
|
if(NULL != mca_pml_uniq.uniq_ptl_components[i]->ptlm_control) {
|
||||||
int rc = mca_pml_uniq.uniq_ptl_components[i]->ptlm_control(param,value,size);
|
int rc = mca_pml_uniq.uniq_ptl_components[i]->ptlm_control(MCA_PTL_ENABLE,&value,sizeof(value));
|
||||||
if(rc != OMPI_SUCCESS)
|
if(rc != OMPI_SUCCESS)
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
@ -111,14 +111,10 @@ extern int mca_pml_uniq_del_procs(
|
|||||||
size_t nprocs
|
size_t nprocs
|
||||||
);
|
);
|
||||||
|
|
||||||
extern int mca_pml_uniq_add_ptls(
|
extern int mca_pml_uniq_add_ptls(void);
|
||||||
ompi_list_t *ptls
|
|
||||||
);
|
|
||||||
|
|
||||||
extern int mca_pml_uniq_control(
|
extern int mca_pml_uniq_enable(
|
||||||
int param,
|
bool enable
|
||||||
void *size,
|
|
||||||
size_t value
|
|
||||||
);
|
);
|
||||||
|
|
||||||
extern int mca_pml_uniq_progress(void);
|
extern int mca_pml_uniq_progress(void);
|
||||||
@ -223,7 +219,6 @@ extern int mca_pml_uniq_start(
|
|||||||
pml_request->req_free_called = true; \
|
pml_request->req_free_called = true; \
|
||||||
if( pml_request->req_pml_complete == true) \
|
if( pml_request->req_pml_complete == true) \
|
||||||
{ \
|
{ \
|
||||||
OMPI_REQUEST_FINI(*(request)); \
|
|
||||||
switch(pml_request->req_type) { \
|
switch(pml_request->req_type) { \
|
||||||
case MCA_PML_REQUEST_SEND: \
|
case MCA_PML_REQUEST_SEND: \
|
||||||
{ \
|
{ \
|
||||||
|
@ -180,7 +180,7 @@ mca_pml_base_module_t* mca_pml_uniq_component_init(int* priority,
|
|||||||
if(rc != OMPI_SUCCESS)
|
if(rc != OMPI_SUCCESS)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
mca_pml_teg_add_ptls();
|
mca_pml_uniq_add_ptls();
|
||||||
return &mca_pml_uniq.super;
|
return &mca_pml_uniq.super;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ int mca_pml_uniq_iprobe(int src,
|
|||||||
ompi_progress();
|
ompi_progress();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MCA_PML_UNIQ_RECV_REQUEST_RETURN( &recvreq );
|
MCA_PML_BASE_RECV_REQUEST_FINI( &recvreq.req_recv );
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ int mca_pml_uniq_probe(int src,
|
|||||||
MCA_PML_UNIQ_RECV_REQUEST_INIT(&recvreq, NULL, 0, &ompi_mpi_char, src, tag, comm, true);
|
MCA_PML_UNIQ_RECV_REQUEST_INIT(&recvreq, NULL, 0, &ompi_mpi_char, src, tag, comm, true);
|
||||||
|
|
||||||
if ((rc = mca_pml_uniq_recv_request_start(&recvreq)) != OMPI_SUCCESS) {
|
if ((rc = mca_pml_uniq_recv_request_start(&recvreq)) != OMPI_SUCCESS) {
|
||||||
MCA_PML_UNIQ_RECV_REQUEST_RETURN( &recvreq );
|
MCA_PML_BASE_RECV_REQUEST_FINI( &recvreq.req_recv );
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ int mca_pml_uniq_probe(int src,
|
|||||||
if (NULL != status) {
|
if (NULL != status) {
|
||||||
*status = recvreq.req_recv.req_base.req_ompi.req_status;
|
*status = recvreq.req_recv.req_base.req_ompi.req_status;
|
||||||
}
|
}
|
||||||
MCA_PML_UNIQ_RECV_REQUEST_RETURN( &recvreq );
|
MCA_PML_BASE_RECV_REQUEST_FINI( &recvreq.req_recv );
|
||||||
return OMPI_SUCCESS;
|
return OMPI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,9 +75,9 @@ OBJ_CLASS_DECLARATION(mca_pml_uniq_recv_request_t);
|
|||||||
*
|
*
|
||||||
* @param request (IN) Receive request.
|
* @param request (IN) Receive request.
|
||||||
*/
|
*/
|
||||||
#define MCA_PML_UNIQ_RECV_REQUEST_RETURN(request) \
|
#define MCA_PML_UNIQ_RECV_REQUEST_RETURN(request) \
|
||||||
do { \
|
do { \
|
||||||
MCA_PML_BASE_RECV_REQUEST_RETURN( &((request)->req_recv) ); \
|
MCA_PML_BASE_RECV_REQUEST_FINI( &((request)->req_recv) ); \
|
||||||
OMPI_FREE_LIST_RETURN(&mca_pml_uniq.uniq_recv_requests, (ompi_list_item_t*)(request)); \
|
OMPI_FREE_LIST_RETURN(&mca_pml_uniq.uniq_recv_requests, (ompi_list_item_t*)(request)); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ OBJ_CLASS_DECLARATION(mca_pml_uniq_send_request_t);
|
|||||||
mca_pml_base_ptl_t* ptl_base = ptl->ptl_base; \
|
mca_pml_base_ptl_t* ptl_base = ptl->ptl_base; \
|
||||||
\
|
\
|
||||||
/* Let the base handle the reference counts */ \
|
/* Let the base handle the reference counts */ \
|
||||||
MCA_PML_BASE_SEND_REQUEST_RETURN( &((sendreq)->req_send) ); \
|
MCA_PML_BASE_SEND_REQUEST_FINI( &((sendreq)->req_send) ); \
|
||||||
\
|
\
|
||||||
/* \
|
/* \
|
||||||
* If there is a cache associated with the ptl - first attempt \
|
* If there is a cache associated with the ptl - first attempt \
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user