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.

Brian

--
  Brian Barrett
  Graduate Student, Open Systems Lab, Indiana University
  http://www.osl.iu.edu/~brbarret/

Reply via email to