有没有办法让OMP线程或任务在某个核心上运行? 我找到this,跟着链接,但我找不到测试它的源代码。这也是英特尔的解决方案(我认为)。 OMP是否支持这个?
答案 0 :(得分:4)
据我所知,在OpemMP 3.0中,它们都是特定于供应商的扩展。
例如,GOMP(GCC的实现)遵循环境变量GOMP_CPU_AFFINITY
来设置线程关联。
在他们的documentation中,他们举了例子:
GOMP_CPU_AFFINITY="0 3 1-2 4-15:2"
他们说:
将初始线程绑定到CPU 0,第二个绑定到CPU 3,第三个 到CPU 1,第四到CPU 2,第五到CPU 4,第六到 分别为CPU,6,10,10和12,然后启动 从列表的开头返回。 GOMP_CPU_AFFINITY = 0 将所有线程绑定到CPU 0