Introduction of the "progress" sender_based method to replace the slow isend-self method.
This commit was SVN r17998.
Этот коммит содержится в:
родитель
93db01871e
Коммит
e11237aadb
@ -16,7 +16,11 @@ mca_vprotocol_pessimist_module_t mca_vprotocol_pessimist =
|
||||
/* mca_pml_base_module_add_procs_fn_t */ NULL,
|
||||
/* mca_pml_base_module_del_procs_fn_t */ NULL,
|
||||
/* mca_pml_base_module_enable_fn_f */ mca_vprotocol_pessimist_enable,
|
||||
/* mca_pml_base_module_progress_fn_t */ NULL, /*mca_vprotocol_pessimist_progress,*/
|
||||
#ifdef SB_USE_PROGRESS_METHOD
|
||||
/* mca_pml_base_module_progress_fn_t */ mca_vprotocol_pessimist_progress,
|
||||
#else
|
||||
/* mca_pml_base_module_progress_fn_t */ NULL,
|
||||
#endif
|
||||
/* mca_pml_base_module_add_comm_fn_t */ NULL,
|
||||
/* mca_pml_base_module_del_comm_fn_t */ NULL,
|
||||
/* mca_pml_base_module_irecv_init_fn_t */ NULL,
|
||||
|
@ -9,23 +9,21 @@
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
#include "vprotocol_pessimist_sender_based.h"
|
||||
#include "vprotocol_pessimist.h"
|
||||
|
||||
#ifdef SB_USE_PROGRESS_METHOD
|
||||
|
||||
int mca_vprotocol_pessimist_progress(void)
|
||||
{
|
||||
int ret = OMPI_ERR_NOT_IMPLEMENTED;
|
||||
#if 0
|
||||
int ret;
|
||||
|
||||
printf("PROGRESS\n");
|
||||
/* First let the real progress take place */
|
||||
ret = mca_pml_v.host_pml.pml_progress();
|
||||
|
||||
for(req = opal_list_head(&mca_vprotocol_pessimist.sender_based.sendprogressreq),
|
||||
req != opal_list_end(&mca_vprotocol_pessimist.sender_based.sendprogressreq),
|
||||
req = req->next) {
|
||||
preq = VPESSIMIST_SEND_REQ(req);
|
||||
conv = req->conv;
|
||||
|
||||
|
||||
}
|
||||
#endif
|
||||
/* Then progess the sender_based copies */
|
||||
vprotocol_pessimist_sb_progress_all_reqs();
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -137,6 +137,9 @@ int vprotocol_pessimist_sender_based_init(const char *mmapfile, size_t size)
|
||||
sb.sb_pagesize = getpagesize();
|
||||
sb.sb_cursor = sb.sb_addr = (uintptr_t) NULL;
|
||||
sb.sb_available = 0;
|
||||
#ifdef SB_USE_PROGRESS_METHOD
|
||||
OBJ_CONSTRUCT(&sb.sb_sendreq, opal_list_t);
|
||||
#endif
|
||||
|
||||
sprintf(path, "%s"OPAL_PATH_SEP"%s", orte_process_info.proc_session_dir,
|
||||
mmapfile);
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user