OpenMP C ++ - ¿Cómo paralelizar esta función?
Me gustaría paralelizar esta función pero soy nuevo con mp abierto y agradecería que alguien me ayudara:
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;
}
}
No sé cómo paralelizarlo correctamente debido al doble bucle, por el momento solo pensé en hacer un:#pragma omp parallel for reduction(+:t)
Pero creo que no es la mejor manera de obtener la informática más rápido a través de openMp.
Gracias de antemano,