On Fri, 26 May 2006, Brian W. Barrett wrote:
> On Fri, 26 May 2006, Jeff Squyres (jsquyres) wrote:
>> You can see this by slightly modifying your test command -- run "env"
>> instead of "hostname". You'll see that the environment variable
>> OMPI_MCA_mpi_yield_when_idle is set to the value that you passed in on
>> the mpirun command line, regardless of a) whether you're oversubscribing
>> or not, and b) whatever is passed in through the orted.
> While Jeff is correct that the parameter informing the MPI process that it
> should idle when it's not busy is correctly set, it turns out that we are
> ignoring this parameter inside the MPI process. I'm looking into this and
> hope to have a fix this afternoon.
Mea culpa. Jeff's right that in a normal application, we are setting up
to call sched_yield() when idle if the user sets mpi_yield_when_idle to 1,
regardless of what is in the hostfile . The problem with my test case was
that for various reasons, my test code was never actually "idling" - there
were always things moving along, so our progress engine was deciding that
the process should not be idled.
Can you share your test code at all? I'm wondering if something similar
is happening with your code. It doesn't sound like it should be "always
working", but I'm wondering if you're triggering some corner case we
haven't thought of.
Graduate Student, Open Systems Lab, Indiana University