1

I am running a MPI program and in my hostfile I have only one node. The node has 2 scokets, 8 physical cores each and the hyperthreading is disabled.

mpiexec -n 8 -f /pathtohostfile/host_file_test ./a.out

I am using likwid to measure energy consumed by my program.

Question :

  1. Are the above 8 process running on the same socket(to save energy) or processes can be randomly assigned to either socket?
  2. Not sure about it, but can a process context switch to another socket?
  3. In case process are randomly assigned, can I pin my process to a core/socket to measure the energy?
Vivek Mahto
  • 194
  • 1
  • 17

1 Answers1

1

Since you have only one node, your 8 processes are all under control of the Linux scheduler, so, unless you use numactl or something to pin them down, the OS will place them for best load balancing. And it may decide to migrate them. Look into numactl and other "pinning" tools. hwloc may also do it for you.

Victor Eijkhout
  • 5,088
  • 2
  • 22
  • 23