我是cilk编程的新手。我正在尝试使用cilk进行块矩阵乘法。但由于某种原因,我得到了分段错误。你能帮我解决这个问题。
void cilk_vec_mmm(int m, int n, int p, float A[m][1000], float B[p][1000], float C[m][1000])
{
int s=50;
for(int i=0;i<m;i+=s)
{
for(int j=0;j<p;j+=s)
{
for(int k=0; k<n;k+=s)
{
C[i:i+(s-1)][j:j+(s-1)]+= A[i:i+s-1][k:k+s-1]*B[k:k+s-1][j:j+s-1];
}
}
}
}
答案 0 :(得分:0)
下标错了。在Cilk Plus中,[m:n]表示下标m,m + 1,m + 2,... m + n-1,这与Fortran90中的类似(m:n)表示法不同。