<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 25, 2013 at 7:55 AM, Pavan Balaji <span dir="ltr"><<a href="mailto:balaji@mcs.anl.gov" target="_blank">balaji@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 02/23/2013 06:49 PM US Central Time, Jeff Hammond wrote:<br>
> My understanding, having looked at the code for this, is that no<br>
> thread binding is set.  The OS will hopefully do the right thing when<br>
> the cores are undersubscribed, but I see no thread affinity code in<br>
> the MPICH source for the comm threads.<br>
<br>
</div>This is incorrect.  Hydra allows you to bind a process to a cpuset.  If<br>
you are using an affinity thread, make sure your cpuset has at least 2<br>
cores in it.</blockquote></div><br>It sounds like you are binding a process. Suppose hydra binds my process to cpuset 0xf and my process pthread_creates a total of three threads. If I bind those threads to 0x1, 0x2, 0x4, we still have the MPICH_ASYNC_PROGRESS running with affinity 0xf, and as far as I know, there is no way to bind it to 0x8.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra" style>It would be interesting to be able to specify this, both to place the progress threads close to NICs and to make sure that progress threads do not disrupt application threads (to reduce jitter and possibly improve performance).</div>
</div>