Process Pinning

https://software.intel.com/en-us/mpi-developer-reference-linux-process-pinning

Process Pinning

Use this feature to pin a particular MPI process to a corresponding CPU within a node and avoid undesired process migration. This feature is available on operating systems that provide the necessary kernel interfaces.

Processor Identification

The following schemes are used to identify logical processors in a system:

  • System-defined logical enumeration
  • Topological enumeration based on three-level hierarchical identification through triplets (package/socket, core, thread)

The number of a logical CPU is defined as the corresponding position of this CPU bit in the kernel affinity bit-mask. Use the cpuinfo utility, provided with your Intel MPI Library installation or the cat /proc/cpuinfo command to find out the logical CPU numbers.

The three-level hierarchical identification uses triplets that provide information about processor location and their order. The triplets are hierarchically ordered (package, core, and thread).

See the example for one possible processor numbering where there are two sockets, four cores (two cores per socket), and eight logical processors (two processors per core).

NOTE

Logical and topological enumerations are not the same.

Logical Enumeration

0


4


1


5


2


6


3


7

Hierarchical Levels

Socket


0


0


0


0


1


1


1


1


Core


0


0


1


1


0


0


1


1


Thread


0


1


0


1


0


1


0


1

Topological Enumeration

0


1


2


3


4


5


6


7

Use the cpuinfo utility to identify the correspondence between the logical and topological enumerations. See Processor Information Utility for more details.

Default Settings

If you do not specify values for any process pinning environment variables, the default settings below are used. For details about these settings, see Environment Variables and Interoperability with OpenMP API.

  • I_MPI_PIN=on
  • I_MPI_PIN_MODE=pm
  • I_MPI_PIN_RESPECT_CPUSET=on
  • I_MPI_PIN_RESPECT_HCA=on
  • I_MPI_PIN_CELL=unit
  • I_MPI_PIN_DOMAIN=auto:compact
  • I_MPI_PIN_ORDER=compact

原文地址:https://www.cnblogs.com/dhcn/p/12272877.html

时间: 2024-11-14 10:30:09

Process Pinning的相关文章

网易OpenStack部署运维实战

防伪码:没有所谓的命运,只有不同的选择. OpenStack简介 OpenStack 是一个开源的 IaaS 实现,它由一些相互关联的子项目组成,主要包括计算.存储.网络. 由于以 Apache 协议发布,自 2010 年项目成立以来,超过 200 个公司加入了 OpenStack 项目,其中包括 AT&T.AMD.Cisco.Dell.IBM.Intel.Red Hat 等. 目前参与 OpenStack 项目的开发人员有 17,000+,来自 139 个国家,这一数字还在不断增长中. Ope

Process/Thread Pinning Overview

https://www.nas.nasa.gov/hecc/support/kb/ProcessThread-Pinning-Overview_259.html Pinning, the binding of a process or thread to a specific core, can improve the performance of your code by increasing the percentage of local memory accesses. Once your

对KVM虚拟机进行cpu pinning配置的方法

这篇文章主要介绍了对KVM虚拟机进行cpu pinning配置的方法,通过文中的各种virsh命令可进行操作,需要的朋友可以参考下 首先需求了解基本的信息 1 宿主机CPU特性查看 使用virsh nodeinfo可以看到一些基本信息 #virsh nodeinfo CPU model: x86_64 CPU(s): 32 CPU frequency: 1200 MHz CPU socket(s): 1 Core(s) per socket: 8 Thread(s) per core: 2 NU

Process Kill Technology && Process Protection Against In Linux

目录 0. 引言 1. Kill Process By Kill Command 2. Kill Process By Resource Limits 3. Kill Process By Code Injection Into Running Process Via GDB 4. Kill Process By Using Cross Process Virtual Memory Modify 5. Kill Process By Using ptrace To Inject .so 6. P

centOS 7一个解决“network.service: control process exited, code=exited status=1”方法

今天早上2017-08-04,我打开虚拟机,使用远程工具xshell对虚拟机进行连接,我发现连接不上去,然后我ifconfig,发现找不到ens33了,就剩一个本地回环,看来是我的网络出现了问题,然后我查看我的网络状态,发现了如下情况: [[email protected] ~]# systemctl status network.service ● network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d

python pip fatal error in launcher unable to create process using

用pip安装一个包,不知道为啥,就报了这个错误:python pip fatal error in launcher unable to create process using “” 百度了一下,用下面的命令可以解决,搞定 python2 -m pip install XXX  另外,Python3 的pip我用python3 -m pip install --upgrade pip 搞定

MySQL 授予普通用户PROCESS权限

在MySQL中如何给普通用户授予查看所有用户线程/连接的权限,当然,默认情况下show processlist是可以查看当前用户的线程/连接的. mysql> grant process on MyDB.* to test; ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES 第一次授予这样的权限,错误原因是process权限是一个全局权限,不可以指定在某一个库上(个人测试库为MyDB),所以,把授权语句更改

ERROR   OGG-01668 PROCESS ABENDING.

oracle ogg 出现如下报错 ERROR   OGG-01172  Discard file (/ogg/oggrm/11.2/dirdat/repa.dsc) exceeded max bytes (2000000000). ERROR   OGG-01668  PROCESS ABENDING. 可以看出repa.dsc文件达到了最大值.导致错误是文件写满,大部分情况则是表同步出错,具体的错误可以通过查看OGG错误日志中看到. 解决办法如下: 1.repa.dsc文件的最大值可以在vi

JBPM工作流(八)——流程实例(PI)Process Instance

/** * 流程实例 *    *  启动流程实例 *    *  完成任务 *    *  查询 *      *  查询流程实例 *      *  查询任务 *          *  查询正在执行的任务 *            *  查询所有的正在执行的任务 *            *  根据任务的执行人查询正在执行的任务 *            *  根据executionId查询正在执行的任务 *            *  根据piid查询正在执行的任务 *