Added MXM parameter "np" that controls the minimal number of processes that allow MXM to run
Default: 128 MXM advantages kick in with large number of processes. This commit was SVN r26544.
Этот коммит содержится в:
родитель
e91d3a6f13
Коммит
f02bf707a4
@ -110,7 +110,6 @@ int ompi_mtl_mxm_module_init(void)
|
||||
mxm_error_t err;
|
||||
uint32_t jobid;
|
||||
uint64_t mxlr;
|
||||
int rc;
|
||||
ompi_proc_t *mp, **procs;
|
||||
unsigned ptl_bitmap;
|
||||
size_t totps, proc;
|
||||
@ -139,6 +138,13 @@ int ompi_mtl_mxm_module_init(void)
|
||||
return OMPI_ERROR;
|
||||
}
|
||||
|
||||
if (totps < (size_t)ompi_mtl_mxm.mxm_np) {
|
||||
MXM_VERBOSE(1, "MXM support will be disabled because of total number of processes"
|
||||
"(%lu) is less then default (%u)",totps, ompi_mtl_mxm.mxm_np);
|
||||
return OMPI_ERR_NOT_SUPPORTED;
|
||||
}
|
||||
MXM_VERBOSE(1, "MXM support enabled");
|
||||
|
||||
for (proc = 0; proc < totps; proc++) {
|
||||
if (mp == procs[proc]) {
|
||||
lr = nlps++;
|
||||
|
@ -60,13 +60,22 @@ mca_mtl_mxm_component_t mca_mtl_mxm_component = {
|
||||
|
||||
static int ompi_mtl_mxm_component_register(void)
|
||||
{
|
||||
mca_base_component_t*c;
|
||||
|
||||
mca_base_param_reg_int(&mca_mtl_mxm_component.super.mtl_version, "verbose",
|
||||
c = &mca_mtl_mxm_component.super.mtl_version;
|
||||
|
||||
mca_base_param_reg_int(c, "verbose",
|
||||
"Verbose level of the MXM component",
|
||||
false, false,
|
||||
0,
|
||||
&ompi_mtl_mxm.verbose);
|
||||
|
||||
mca_base_param_reg_int(c, "np",
|
||||
"[integer] Minimal allowed job's NP to activate MXM",
|
||||
false, false,
|
||||
128,
|
||||
&ompi_mtl_mxm.mxm_np);
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -27,6 +27,7 @@ BEGIN_C_DECLS
|
||||
typedef struct mca_mtl_mxm_module_t {
|
||||
mca_mtl_base_module_t super; /**< base MTL interface */
|
||||
int verbose;
|
||||
int mxm_np;
|
||||
mxm_h mxm_context;
|
||||
mxm_context_opts_t mxm_opts;
|
||||
mxm_ep_h ep;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user