gpt4 book ai didi

c++ - 微软的OpenMP自旋锁时间如何控制?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:44 26 4
gpt4 key购买 nike

英特尔编译器使用的 OpenMP 支持环境变量 KMP_BLOCKTIME ( docs ),我相信它控制着线程等待新工作所花费的忙等待(自旋锁定)时间(链接文档声称这默认为 200 毫秒)。

Gnu 编译器使用的 OpenMP 支持环境变量 GOMP_SPINCOUNT ( docs ),我相信它也控制着该库的等效实现细节(尽管显然表示为迭代计数而不是时间) .

我的问题是:Microsoft 提供什么控件(如果有)来控制 Microsoft 编译器使用的 OpenMP 中的此参数?(目前我感兴趣的是 VS2010。)

(我很清楚,如果我的程序的并行性完全基于 OpenMP,那么就没有理由担心这一点,但我的兴趣是由大型复杂系统的一些 vtune 跟踪引起的,该系统也大量使用了 TBB。 )

最佳答案

Microsoft Visual Studio 2010 SP1 及更高版本似乎支持 OMP_WAIT_POLICY,如本 Knowledge base article 所示

OMP_WAIT_POLICY 设置为 PASSIVE 确实解决了我在使用 Visual Studio 2013 进行编译时遇到的问题。

关于c++ - 微软的OpenMP自旋锁时间如何控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20748066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com