[mpich-discuss] Hydra binding questions

Pavan Balaji balaji at mcs.anl.gov
Wed Aug 17 21:54:18 CDT 2011


Rohit,

The output seems to be exactly what I expect. "rr" sets the binding 
based on the processor ID. 0,1,2,3,4,6,7 is exactly that.

  -- Pavan

On 08/17/2011 07:04 PM, Jain, Rohit wrote:
> Hi Pavan,
>
> I tried 1.4.1rc1. it seems to resolve binding related issues I reported earlier. Thanks for fixing that.
>
> I see different behavior on one of AMD machine, where rr doesn't seem to allocate correct binding. It is doing in sequence rather than round robin style.
> Socket binding is working fine.
>
> -binding rr | gp processmap
> processmap: (0;1;2;3;4;5;6;7)
>
> -binding cpu:sockets | gp processmap
> processmap: (0;4;1;5;2;6;3;7)
>
> topomap: (MACHINE,(NODE,mem_size:17850953728,(SOCKET,(CORE,(THREAD,pid:0)),(CORE,(THREAD,pid:1)),(CORE,(THREAD,pid:2)),(CORE,(THREAD,pid:3)))),(NODE,mem_size:17179865088,(SOCKET,(CORE,(THREAD,pid:4)),(CORE,(THREAD,pid:5)),(CORE,(THREAD,pid:6)),(CORE,(THREAD,pid:7)))))
>
> Regards,
> Rohit
>
>
> -----Original Message-----
> From: Pavan Balaji [mailto:balaji at mcs.anl.gov]
> Sent: Friday, August 12, 2011 4:05 PM
> To: Jain, Rohit
> Cc: mpich-discuss at mcs.anl.gov
> Subject: Re: [mpich-discuss] Hydra binding questions
>
> Hi Rohit,
>
> Yes, you are right. This was a bug. I've fixed it in r8897. It's also
> been merged into the 1.4.x branch.
>
>    -- Pavan
>
> On 08/12/2011 04:08 PM, Jain, Rohit wrote:
>> Hi Pavan,
>>
>> I tried the verbose info on a machine while running 9 parallel processes.
>> 'rr' always shows processmap for all cores, but 'cores' and 'sockets' showing processmap for only 8 cores. How is it binding to cores for more than 8 processes?
>>
>> Machine has 16 cores available.
>>
>> topomap: (MACHINE,(NODE,mem_size:75951734784,(SOCKET,(CORE,(THREAD,pid:0),(THREAD,pid:8)),(CORE,(THREAD,pid:2),(THREAD,pid:10)),(CORE,(THREAD,pid:4),(THREAD,pid:12)),(CORE,(THREAD,pid:6),(THREAD,pid:14))),(SOCKET,(CORE,(THREAD,pid:1),(THREAD,pid:9)),(CORE,(THREAD,pid:3),(THREAD,pid:11)),(CORE,(THREAD,pid:5),(THREAD,pid:13)),(CORE,(THREAD,pid:7),(THREAD,pid:15)))))
>>
>> cores: processmap: (0;2;4;6;1;3;5;7;;;;;;;;)
>> sockets: processmap: (0;1;2;3;4;5;6;7;;;;;;;;)
>> rr: processmap: (0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15)
>>
>> Regards,
>> Rohit
>>
>>
>> -----Original Message-----
>> From: Pavan Balaji [mailto:balaji at mcs.anl.gov]
>> Sent: Wednesday, August 10, 2011 3:35 PM
>> To: Jain, Rohit
>> Cc: mpich-discuss at mcs.anl.gov
>> Subject: Re: [mpich-discuss] Hydra binding questions
>>
>> Hi Rohit,
>>
>> On 08/10/2011 02:56 PM, Jain, Rohit wrote:
>>> Okay. Let me know when you have it ready and few instructions on how
>>> to get it from trunk and use it with 1.4.
>>
>> The changes have been committed to trunk as of r8871. You can download
>> the latest nightly snapshot of Hydra from
>> http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/nightly/hydra/
>> and build it. It'll give you an mpiexec (and some other utility
>> executables), that you can use to run your program. You can still
>> compile your application with mpicc and friends from the 1.4
>> installation; you just need to use the new mpiexec to run it.
>>
>> When you pass the -verbose flag, it'll show you both the hardware
>> topology (labeled as 'topomap') and the process binding information
>> ('processmap'). There might be too much additional information in the
>> debug output, so you might want to grep for these flags in the output.
>>
>>     -- Pavan
>>
>

-- 
Pavan Balaji
http://www.mcs.anl.gov/~balaji


More information about the mpich-discuss mailing list