Я пытаюсь использовать openMP в функции matmul
, но она не работает ...
В этой части я попробовал все, но на завершение уходит более 60 минут, и это не сокращает время.
Что я должен делать?
int matmul( int l, int m, int n, float *A, float *B, float *C )
{
int i, j, k;
omp_set_dynamic(0);
#pragma omp parallel for shared(A,B,C) private(i, k, j) num_threads(4)
for( i=0; i<l; i++ ) // Loop over the rows of A and C.
for( k=0; k<n; k++ ) // Loop over the columns of B and C
{
// Initialize the output element for the inner
// product of row i of A with column j of B
C[i*n+k] = 0;
for( j=0; j<m; j++ ) // Loop over the columns of A and C
{
C[i*n+k] += A[i*m+j] * B[j*n+k]; // Compute the inner product
}
}
}
} // Added by edit!
Может ли кто-нибудь помочь мне с этим?