OpenMP C ++ - Как распараллелить эту функцию?
Я хотел бы распараллелить эту функцию, но я новичок с open mp, и я был бы благодарен, если бы кто-то мог мне помочь:
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;
}
}
I don't know how to parallelize it properly because of the double loop for, for the moment, I only thought about doing a :
#pragma omp parallel for reduction(+:t)
Но я думаю, что это не лучший способ ускорить вычисления с помощью openMp.
Заранее спасибо,