1

假设 /QPar 已设置,并且对于以下代码:

#pragma loop(hint_parallel(8))
for(int i = 0; i < u; i++)
{
   SomeExpensiveCall();
}

我的 u 很小(约 50),SomeExpensiveCall 需要约 1 秒。代码似乎没有被并行化(我注释掉了提示并且没有变化)。有什么办法可以强制编译器并行化它吗?

我刚刚想到的事情 - 这是否与包含上述代码的项目位于静态库中的事实有关,该静态库链接到没有(也不能)具有 /QPar 的 CLI/C++ DLL 中?

谢谢

4

1 回答 1

1

/Qpar-report:2 应该告诉你发生了什么。由于潜在的副作用,它可能不想并行函数调用。

于 2012-12-04T19:57:07.500 回答