Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] rankfile RMAPS component
From: Lenny Verkhovsky (lennyb_at_[hidden])
Date: 2008-03-05 11:29:30

Hi all,

Attached patch for Rankfile RMAPS component,
If there are no objections I will submit it next week.

1. if rankfile is present the priority of rankfile component of
RMAPS gets high value.
2. all unspecified by rankfile ranks are assigned using -byslot or
-bynode policy. It's highly recommended to assign all ranks in rankfile
if this component is used.
3. usage: mpirun -mca rmaps_rankfile_path rankfile ./app
4. you can use -mca mpi_paffinity_debug 1 to check CPU binding.
5. example:

#cat hosfile

#cat rankfile
rank 1=host1 slot=1:0,1
rank 0=host2 slot=0:*
rank 2=host4 slot=1-2
rank 3=host3 slot=0:1,1:0-2

# mpirun -np 2 -hosfile hostfile -mca rmaps_rankfile_path rankfile ./app

rank 1 will be bounded to host1, socket1 core0 and socket1 core1 rank 0
will be bounded to host2, socket0, all cores rank 2 will be bounded to
host4, CPU #1 and CPU #2 rank 3 will be bounded to host3, socket0 core1,
socket1 core0, socket1 core1, socket1 core2.

* There is a user's responsibility to provide the correct number of CPU,
Socket or Core to be bind to.
* Also it's user's responsibility to provide correct hostname.
* There are machines with not sequential socket numbering.
* use cat /proc/cpuinfo to check CPU, socket and core numbering on your
* Example:

processor : 3 /* CPU number */
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU 5110 @ 1.60GHz
stepping : 6
cpu MHz : 1595.957
cache size : 4096 KB
physical id : 3 /* Socket id */
siblings : 2
core id : 1 /* Core id */
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall
nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca lahf_lm
bogomips : 3192.10
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

Best Regards,