我在visual c++ 2012中有这段代码:
void Run()
{
#pragma omp parallel for
for(int imageNo=0;imageNo<4;imageNo++)
{
RunForOneImage(imageNo, Data[imageNo],
width, height,
OutputWidth, OutputHeight);
}
}
中的所有变量RunForOneImage
都是局部变量,它不使用任何全局或类成员变量。
运行它时,我可以看到只有一个核心变得忙碌,其他核心处于空闲状态。
为什么这不是并行运行?
我在 Visual Studio (/MP) 中选择了多处理器选项。我应该选择其他选项吗?