Почему это дает ошибку сегментации в Cilk, я использую компилятор ICC

Я новичок в программировании в 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];
}
}
}
}

-1

Решение

Подписи ошибочны. В Cilk Plus [m: n] означает индексы m, m + 1, m + 2, … m + n-1, что отличается от аналогичной записи (m: n) в Fortran90.

0

Другие решения

Других решений пока нет …