我想這個並行化功能,但我是新開放的MP,我會很感激,如果有人可以幫助我:OpenMP 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;
}
}
我不知道如何正確地進行並行化因雙循環,目前,我只想到做一個: #pragma omp parallel for reduction(+:t)
但我認爲這不是通過openMp更快地獲得計算的最佳方式。
在此先感謝,
不要讓雙循環嚇跑你。你也可以在OpenMP上使用'pragma'。 – Mysticial
並行化外部循環。 –