6
Paruję równolegle z konstrukcją równoległą for
w OpenMP.omp dla z klauzulą zwinięcia nie kompiluje się
W specyfikacji OpenMP, widzę:
void sub(float *a)
{
int i, j, k;
#pragma omp for collapse(2) private(i, k, j)
for (k=kl; k<=ku; k+=ks)
for (j=jl; j<=ju; j+=js)
for (i=il; i<=iu; i+=is)
bar(a,i,j,k);
}
Pisałem kod, który uważam za bardzo podobny, ale nie kompilacji:
Nieoczekiwany token po klauzuli upadku
#pragma omp for collapse(2)
for(int i=0;i<N-m;i++)
for(int k=0;k<m_ndim;k++)
points_[i][k]=TRandom::randD(lower[k],upper[k]);
Dlaczego to nie działa?
jaka masz wersję OpenMP? – Anycorn
ten z VS2010! ? – octoback
VS nadal nie jest aktualny w stosunku do aktualnego standardu OpenMP. Może chcesz wypróbować gcc zamiast tego, który implementuje bieżący. –