[mpich-discuss] Affinity with MPICH_ASYNC_PROGRESS
Jed Brown
jedbrown at mcs.anl.gov
Sat Feb 23 18:56:25 CST 2013
On Sat, Feb 23, 2013 at 6:49 PM, Jeff Hammond <jhammond at alcf.anl.gov> wrote:
> My understanding, having looked at the code for this, is that no
> thread binding is set. The OS will hopefully do the right thing when
> the cores are undersubscribed, but I see no thread affinity code in
> the MPICH source for the comm threads. MVAPICH has some additional
> (i.e. non-MPICH) affinity code but I think it is mostly for
> process-binding.
>
> I have a modified version of MPICH that allows the user to set the
> affinity of the comm threads explicitly. I was interested in pinning
> all of the comm threads to one core and letting them fight for time.
> For example, on an 8-core node, I was hoping to get async progress on
> 7 processes by pinning 7 comm threads to the 8th core.
>
Did this work at all?
> My patches for setting comm thread affinity are pretty simple. I
> assume you want me to share them?
>
Sure, but I'm more interested in whether there will be an API for
determining this information. That is, suppose I have a node running 4 MPI
ranks consisting of 15 user threads each . Those 15 threads are split
between two dies and will be running in two groups: one group of 8 doing
entirely local work and one group of 7 that communicates frequently. If I
could detect the affinity of the comm thread, I could choose how to set
affinity for the application threads to get the layout I wanted.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20130223/9e12b406/attachment.html>
More information about the discuss
mailing list