为什么它会在 cilk 中给出分段错误,我正在使用 ICC 编译器

Why does it gives segmentation fault in cilk, I am using ICC compiler

本文关键字:编译器 ICC 错误 分段 cilk 为什么      更新时间:2023-10-16

我是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];
                  }
               } 
          }
   }

下标是错误的。 在 Cilk Plus 中,[m:n] 表示下标 m, m+1, m+2, ...m+n-1,与 Fortran90 中类似的 (m:n) 表示法不同。