0
我有如下因素代码:为什么这个版本和这个版本一样?
#pragma omp parallel for private(dot,sum,c,cc)
for(r=0;r<rows;r++){
for(c=0;c<cols;c++){
dot = 0.0;
sum = 0.0;
for(cc=(-center);cc<=center;cc++){
if(((c+cc) >= 0) && ((c+cc) < cols)){
dot += (float)image[r*cols+(c+cc)] * kernel[center+cc];
sum += kernel[center+cc];
}
}
tempim[r*cols+c] = dot/sum;
}
}
此代码以相同的速度secvential版本上运行。我做错了什么?行,列的值是4000+,中心在10-30附近。
可能是一个愚蠢的问题,但你有告诉你的编译器使用OpenMP吗? – JakubT