用openmp做多核并行处理遇到了问题,
例如有个vector a, 想要对下面并行
#program opm parallel for num_threads(2)
for (int i=0;i<a.size();i++)
cout <<a[i];
并行下a[i]被共享读,设置处理器个数为1,2,4,6,8个(本人机器12个核), 发现处理速度没变,有时候还会报错。 如何实现上面并行?
上面的例子就是一个我遇到问题的简单化,但是想实现的思想差不多。
用openmp做多核并行处理遇到了问题,
例如有个vector a, 想要对下面并行
#program opm parallel for num_threads(2)
for (int i=0;i<a.size();i++)
cout <<a[i];
并行下a[i]被共享读,设置处理器个数为1,2,4,6,8个(本人机器12个核), 发现处理速度没变,有时候还会报错。 如何实现上面并行?
上面的例子就是一个我遇到问题的简单化,但是想实现的思想差不多。