openMp改写的程序比串行还慢
发布网友
发布时间:2022-06-11 09:38
我来回答
共1个回答
热心网友
时间:2024-11-29 06:56
运行的慢是因为你的length太小。并行的话比串行需要时间去分,还需要时间再合。所以当你数据量太小时反而用串行的就比较快了。
你换成一亿就能看出差距了。
我没看出来哪有冲突。但是我觉得你上面赋值和算c那这么写也许效率更快。
#pragma omp parallel for
for(i=0; i<length; i++)
{
A[i] = (rand_r(&seed))%10;
B[i] = (rand_r(&seed))%10;
C[i] = (A[i]+B[i])/2;
}
还有,你根本没用到头文件time.h啊。你写这个头文件干嘛?是不是想看运行时间啊。