slow sparse matrix vector product (CSR) using open mp
问题 I am trying to speed up a sparse matrix-vector product using open mp, the code is as follows: void zAx(double * z, double * data, long * colind, long * row_ptr, double * x, int M){ long i, j, ckey; int chunk = 1000; //int * counts[8]={0}; #pragma omp parallel num_threads(8) { #pragma omp for private(ckey,j,i) schedule(static,chunk) for (i=0; i<M; i++ ){ z[i]=0; for (ckey=row_ptr[i]; ckey<row_ptr[i+1]; ckey++) { j = colind[ckey]; z[i] += data[ckey]*x[j]; } } } } Now, this code runs fine, and