OpenMP C ++ - Jak zrównoważyć tę funkcję?

Chciałbym zrównoważyć tę funkcję, ale jestem nowy z otwartym mp i byłbym wdzięczny, gdyby ktoś mógł mi pomóc:

void my_function(float** A,int nbNeurons,int nbOutput, float* p, float* amp){
   float t=0;
   for(int r=0;r<nbNeurons;r++){
      t+=p[r];
   }

   for(int i=0;i<nbOutput;i++){
      float coef=0;
      for(int r=0;r<nbNeurons;r++){
       coef+=p[r]*A[r][i];
      }
   amp[i]=coef/t;
   }
}

Nie wiem, jak poprawnie zrównoważyć to z powodu podwójnej pętli, bo na razie myślałem tylko o zrobieniu:#pragma omp parallel for reduction(+:t)

Ale myślę, że nie jest to najlepszy sposób na szybsze obliczanie poprzez openMp.

Z góry dziękuję,

questionAnswers(1)

yourAnswerToTheQuestion