使用openMP指定特定处理器

时间:2012-02-29 12:35:33

标签: c++ openmp

您好我在一个系统上运行linux,每个节点有64个内核,每个处理器有4个处理器,每个处理器16个内核,我正在尝试在一个特定处理器(16个内核)上运行C ++程序,当我将OMP_NUM_THREADS设置为16并运行我的程序在HTOP中查看的结果显示工作分布在4个处理器上,如何将OpenMP设置为仅在一个处理器上运行

1 个答案:

答案 0 :(得分:1)

我认为this question的答案非常清楚。答案是OpenMP中没有用于设置处理器的语言级构造; OpenMP仅在最近(3.1)有一种机制,甚至可以确保线程一旦启动就停留在给定的处理器上(这称为“处理器关联”)。

但是,大多数OpenMP实现超出了标准,允许您将线程绑定到特定的核心或套接字。此外,您的环境可能具有启动机制(例如,Linux的numactl),允许您在启动时设置绑定。