|
雷达 发表于 2022-9-24 23:54
# K" B3 k: _# G9 I1 E _: h7 Xvoid xcorr(comp* outcomp, comp* A, int lenA, comp* B, int lenB)
0 @( @, `4 T2 Y# C{
' Z6 ]% q9 z% x0 ^. { comp temp, xtimesy; / K& S: k' X) O' Y
这个code里面如果Openmp没有被注释掉的话,那么temp那个变量应该是定义在循环里面,否则线程之间会存在争夺写入那个temp的风险。* H" D+ L) @& Z# E1 L {
内层for循环如果没有内部操作的话,编译时应该被优化掉了,和你完全注册掉整个循环是一回事。可能你的编译设置没有打开优化?; o: c- u) |; H/ V8 D
VS社区版没有问题,我工作用的就是社区版,设置正常的话不会比商业版差。以前游说头头用Intel Compiler,他说不想花钱,而且差不了多少,就一直用到现在。 |
|