-1
openmp를 사용하여 두 개의 루프를 병렬 처리 할 때 문제가 있습니다.종속 루프 최적화 openmp
void test(float** m,tab* t,int n){
int i,j;
float gain;
for (i = 1; i < n; i++)
{
for (j = i + 1;] j < n; j++)
{
if (i != j)
{
gain=m[t[(i+n-1)%n]][t[j]] + m[t[i]][t[(j+1)%n]] - m[t[(i+n -1)%n]][t[i]] - m[t[j]][t[(j+1)%n]]
if (gain< 0)
{
swapTab(t,i,j);
}
}
}
}
}
들으 :
에서는 OpenMP를이 루프를 최적화 할 수 있습니다.
첫 번째 것은'if (i! = j)'를 제거하는 것입니다 ... –
'swapTab'는 무엇을합니까? –
배열의 2 요소를 스왑합니다. – Arkerone