Я пытаюсь распараллелить оба цикла этого фрагмента кода:
for ( j = 0 ; j < nt2 ; j++ ) {
dm = MAX_LON + 1;
for ( i = 0 ; i < nt1 ; i++ ) {
d = distancia(tabla1[i],tabla2[j]);
if ( d < dm ) {
dm = d;
im = i;
}
}
ps[j] = im;
}
Распараллеливание внешнего цикла выполнено успешно:
#pragma omp parallel for private(i,d,dm,im)
Но у меня все еще есть проблема с внутренним циклом,Я пробовал, например, с частным (d, m) и сокращением (max: im), но это не работает ни с какой комбинацией.Ближе всего к последовательным результатам я получил с private (d).Есть идеи?Спасибо!