More information.

--mca mpi_paffinity_alone 0

still fails:

...
OMPI_MCA_mpi_paffinity_alone=0
OMPI_MCA_mpi_paffinity_processor=3
...

and it gets bound.

May I ask I question about the code, which I scanned.

I see in ompi/runtime/ompi_mpi_params.c you do a:

    mca_base_param_reg_int_name("mpi", "paffinity_alone",
                                "If nonzero, assume that this job is the only 
(set of) process(es) r
unning on each node and bind processes to processors, starting with processor ID 
0",
                                false, false,
                                (int) ompi_mpi_paffinity_alone, &value);
    ompi_mpi_paffinity_alone = OPAL_INT_TO_BOOL(value);


and in opal/mca/base/mca_base_param.c

/*
 * Register an integer MCA parameter that is not associated with a
 * component
 */
int mca_base_param_reg_int_name(const char *type,
                                const char *param_name,
                                const char *help_msg,
                                bool internal,
                                bool read_only,
                                int default_value,
                                int *current_value)
{
    int ret;
    mca_base_param_storage_t storage;
    mca_base_param_storage_t lookup;

    storage.intval = default_value;
    ret = param_register(type, NULL, param_name, help_msg,
                         MCA_BASE_PARAM_TYPE_INT, internal, read_only,
                         &storage, NULL, NULL, &lookup);
    if (ret >= 0 && NULL != current_value) {
        *current_value = lookup.intval;
    }
    return ret;
}


So, it appears that the "current_value" returned from lookup.intval may not 
happen
and you just get the "ret" value.
In the mca_base_param_reg_int_name call in ompi_mpi_params.c you don't check the
return code, so there may be junk in value? However, I don't see that explicitly
setting --mca mpi_paffinity_alone 0 would fail?

Regards,
Mostyn

P.S. I hope this doesn't seem too presumptious.


On Sun, 22 Apr 2007, Mostyn Lewis wrote:

Using a lateish SVN, 1.3a1r14155 (circa April 1st), on a SuSE SLES10
opteron system which has 2 dual core opterons per node, I can't seem
to disable processor affinity? I have a small test program which call
something else to detect CPU binding and whatever I've done it's still
bound?

tried:

--mca mpi_paffinity_processor -1
--mca mpi_paffinity_processor -99
--mca mpi_paffinity_processor fred (desperation - still bound!)

Any help?

Regards,
Mostyn
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to