[mpich-discuss] How to use bind-to core

Kenneth Raffenetti raffenet at mcs.anl.gov
Fri Jan 3 14:02:55 CST 2014

If you wanted to bind each process to 1 core in a round-robin fashion, 
you would use

   mpiexec.hydra -ppn 5 -bind-to core

Or if your cores have 1 hwthread each, you could use

   mpiexec.hydra -ppn 5 -bind-to rr

To bind all processes to a single core, you would need to specify a user 
binding, such as

   mpiexec.hydra -ppn 5 -bind-to user:1,1,1,1,1

That tells hydra to bind each of the 5 processes to core 1. However 
there is a bug in hydra that will cause an error in the second example 
when the number of bindings specified is > the number of hwthreads on 
your machine. It should be fixed in the upcoming mpich 3.1 release. We 
will also be adding some more process binding examples to the mpich wiki 
in the near future.


On 01/03/2014 01:49 PM, Z.Rahmani wrote:
> To whom it may concern,
> I have an MPI code with 5 ranks and I use a 4-core processor, I want to
> process my code on the machine with every probable state of assigning
> each process on each core of CPU. I mean , for example , one time all of
> process run on 1core, next time each process run on each core of 4-core
> CPU and so on.
> I used " mpiexec.hydra -ppn 5 -bind-to core:4" to run first process on
> first core, 2nd process on 2nd core, 3rd process on 3rd core , ....
> It would be appreciated if correct me.
> Kind Regards,
> Zahra
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss

More information about the discuss mailing list