简体   繁体   English

哪个进程进入 MPI 中的哪个 cpu 套接字?

[英]Which process goes to which cpu socket in MPI?

I am running a MPI program and in my hostfile I have only one node.我正在运行一个 MPI 程序,在我的主机文件中我只有一个节点。 The node has 2 scokets, 8 physical cores each and the hyperthreading is disabled.该节点有 2 个 scoket,每个有 8 个物理内核,并且超线程被禁用。

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

I am using likwid to measure energy consumed by my program.我正在使用likwid来测量我的程序消耗的能量。

Question:问题:

  1. Are the above 8 process running on the same socket(to save energy) or processes can be randomly assigned to either socket?上述 8 个进程是否在同一个套接字上运行(以节省能源)或进程可以随机分配到任一套接字?
  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?如果进程是随机分配的,我可以将我的进程固定到核心/插座上以测量能量吗?

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.由于您只有一个节点,因此您的 8 个进程都在 Linux 调度程序的控制之下,因此,除非您使用numactl或其他东西将它们固定下来,否则操作系统会将它们放置以实现最佳负载平衡。 And it may decide to migrate them.它可能会决定迁移它们。 Look into numactl and other "pinning" tools.查看numactl和其他“固定”工具。 hwloc may also do it for you. hwloc也可以为您完成。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM