I use like to optimize these two loops but actually my openMP version is slower that the serial one. Any help for me ?
- Code: Select all
#pragma omp parallel for default(none) private(j,l,jd,temp) shared(X,yproto_est,Wproto_est,lambda_est,dist_proto,yi,d,Nproto,kmin,lmin,dkmin,dlmin,ind)
for(j = 0 ; j < Nproto ; j++)
{
dist_proto = 0.0;
jd = j*d;
for(l = 0 ; l < d ; l++)
{
temp = (X[l + ind] - Wproto_est[l + jd]);
dist_proto += (lambda_est[l]*temp*temp);
}
if(yproto_est[j] == yi)
{
if(dist_proto < dkmin)
{
dkmin = dist_proto;
kmin = j;
}
}
else
{
if(dist_proto < dlmin)
{
dlmin = dist_proto;
lmin = j;
}
}
}
}
