#pragma omp parallel for collapse(2) not supported in 13.10?


Running pgcc 13.10 with -mp i.e. OpenMP.
The _OPENMP indicates 200805 which presumably means OpenMP 3.0 compliance.

However, for pure double-loop I cannot get

#pragma omp parallel for collapse(2)

working – the message is :

PGC-S-0043-Redefinition of symbol, FUNCTION (PGI_double_mgs_v1.c: 208)
PGC-S-0043-Redefinition of symbol, PRETTY_FUNCTION (PGI_double_mgs_v1.c: 208)

The for-loop around line 208 was
for (int i = 0; i<nrows; ++i)
for (int k = 0; k<ncols; ++k)
wrk_[k] = A[k];

Is this a known limitation ?

With Intel compiler this works and gives huge advantage e.g. on MICs._

Hi Sam,

Collapse should be working fine. These error messages appear to be from a redefinition from a header file and most likely unrelated to OpenMP. Can you post or submit a reproducing example to PGI Customer Service (trs@pgroup.com)?


Thanks Mat

I’ll email it to trs@pgroup.com with instructions