2014-02-17 1 views
-1

Cilk 프로그래밍을 처음 사용합니다. 나는 cilk를 사용하여 블록 행렬 곱셈을 시도하고있다. 하지만 어떤 이유로 인해 세그먼트 분할 오류가 발생합니다. 이걸 좀 도와주세요.왜 Cilk에서 세그멘테이션 오류가 발생합니까? ICC 컴파일러를 사용하고 있습니다.

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

유우 하오 감사합니다, 저는 고심하고있었습니다. – Biparite

답변

0

아래 첨자가 잘못되었습니다. Cilk Plus에서 [m : n]은 Fortran90에서 유사한 (m : n) 표기법과 다른 첨자 m, m + 1, m + 2, ... m + n-1을 의미합니다.

관련 문제