1
1

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.
Этот коммит содержится в:
Yevgeny Kliteynik 2012-06-02 11:07:20 +00:00
родитель e91d3a6f13
Коммит f02bf707a4
3 изменённых файлов: 18 добавлений и 2 удалений

Просмотреть файл

@ -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;