矩阵乘法
请问专家,将一个矩阵乘法用OpenMP编译指导语句并行化后,其执行时间为什么还不如其串行程序的执行时间,用clock()测量运行时间,还有更好的时间函数吗?
void matrixp(int a[L][M],int b[M][N],int c[L][N])
{
int i,j,k,sum=0;
#pragma omp parallel private(i,j,k) // reduction(+:sum)
for(i=0;i<L;i++)
for(j=0;j<N;j++)
{
sum=0;
//c[i][j]=0;
#pragma omp for reduction(+:sum)
for(k=0;k<M;k++)
{
sum+=a[i][k]*b[k][j];
c[i][j]=sum;
}
}
}
此并行有问题吗?请教,可以将回答发到我的邮箱zhangzhe65@126.com,谢谢!