У меня проблема с хранением значений в моем массиве.Я знаю, что проблема исходит от моего счетчика, который не считается, как предполагается в OpenMP.Интересно, есть ли у кого-нибудь советы о том, как хранить мои значения в моих созданных массивах.Моя функция написана на ц.Также мне известно о том, что это умножение может иметь несколько значений для одного и того же Newi_element и Newj_element, которые должны быть добавлены друг к другу.
#define N 1138 //Matrix size
void matrixmultiplication(void){
int *Newi_element = malloc(sizeof(int)*N *N);
int *Newj_element = malloc(sizeof(int)*N *N);
float *Newvalues = malloc(sizeof(float)*N *N);
int Newniterate = 0;
int i,j;
omp_set_num_threads(4);
#pragma omp parallel
{
#pragma omp for private(i,j)
for(i=0;i<niterate;i++){
for(j=0;j<niterate2;j++){
if((j_element[i] == i_element2[j])){
*(Newi_element+Newniterate) = i_element[i];
*(Newj_element+Newniterate) = j_element2[j];
*(Newvalues+Newniterate) = values[i] * values2[j];
Newniterate++;
}
}
}
}
free(Newi_element);
free(Newj_element);
free(Newvalues);
}