brnorris03/Orio

OMP and vectorization interference

Opened this issue · 0 comments

When both OMP parallelization and vectorization are enabled, the OMP pragma gets placed in front of declarations instead of the for loop it's annotating, example below. This is a compile-time error (e.g., with icc 14)
{
int i;

pragma omp parallel for private(i)

register int cbv_1;
cbv_1=ny-25;

pragma ivdep

pragma vector always

for (i=0; i<=cbv_1; i=i+25) {
s[i]=0;
s[(i+1)]=0;
...