Я пытаюсь распараллелить цикл for в приведенном ниже коде, но я не уверен, какой тип директив OpenMP следует добавить перед циклом for, и нужно ли мне сначала объявлять эти переменные в private или public?
#include <stdio.h>
#include <time.h>
#include <omp.h>
void mxv_row(int m, int n, double *A, double *B, double *C)
{
int i, j;
# pragma omp parallel private(?)shared (?)
for (i=0; i<m; i++)
# pragma omp for
{
A[i] = 0.0;
for (j=0; j<n; j++)
A[i] += B[i*n+j]*C[j];
}
}