OpenMP C ++ - Wie diese Funktion parallelisieren?
Ich würde diese Funktion gerne parallelisieren, aber ich bin neu bei OpenMP und wäre dankbar, wenn mir jemand helfen könnte:
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;
}
}
Ich weiß nicht, wie ich es richtig parallelisieren soll, da ich im Moment nur darüber nachgedacht habe, Folgendes zu tun:#pragma omp parallel for reduction(+:t)
Aber ich denke, es ist nicht der beste Weg, das Computing durch openMp schneller zu machen.
Danke im Voraus,