|
雷达 发表于 2022-9-24 23:54, o3 K# v1 G! I, W5 M* r
void xcorr(comp* outcomp, comp* A, int lenA, comp* B, int lenB)0 o2 w) v; |( D# y
{
% E8 H! Y. C# d comp temp, xtimesy; # ?' i" [2 O6 K, R' M w" `
这个code里面如果Openmp没有被注释掉的话,那么temp那个变量应该是定义在循环里面,否则线程之间会存在争夺写入那个temp的风险。
5 V% ?6 n$ Y* h# y内层for循环如果没有内部操作的话,编译时应该被优化掉了,和你完全注册掉整个循环是一回事。可能你的编译设置没有打开优化?
; i# k8 L/ `7 ^% s B( AVS社区版没有问题,我工作用的就是社区版,设置正常的话不会比商业版差。以前游说头头用Intel Compiler,他说不想花钱,而且差不了多少,就一直用到现在。 |
|