kmp_set_warnings_off and possibly other kmp_set... entry points are missing from libiomp5md.lib in Intel Fortran 12.1 (Update 9) and is causing an unresolved symbol since my application references it. kmp_set_warnings_off was in libiomp5md.lib in the previous 12.1 version. I did a "dumpbin" of libiomp5md.lib to verify that it is missing.
連結已複製
7 回應
OK, thanks Steve, perhaps we no longer need it. The original reason we added it was of this:
http://software.intel.com/en-us/articles/omp-warning-cannot-open-message-catalog-libiomp5uidll/
http://software.intel.com/en-us/articles/omp-warning-cannot-open-message-catalog-libiomp5uidll/
The problem is that now that kmp_set_warnings_off has been removed, running OMP code on AMD processors results in the message to stderr unlenss KMP_AFFINITY=disabled. I am not calling the kmp_affinity API.
OMP: Warning #72: KMP_AFFINITY: affinity only supported for Intel processors. OMP: Warning #71: KMP_AFFINITY: affinity not supported, using "disabled".
This is really annoying as messages to stderr trigger a QA failure and annoy users.
We have the latest compilers C++/FORTRAN installed ( Composer XE Update 9)
Our code is a mixture of C++ and FORTRAN, but I am assuming that this warning is coming from libiomp5.dll which common to both compilers and is at version 5.0.2011.1219
We used to work around it with kmp_set_warnings_off but of course that is not present in that OMP library anymore.
I noticed, also, that setting KMP_AFFINITY=none used to 'disable' this message, but now it has to be KMP_AFFINITY=disabled
Our code is a mixture of C++ and FORTRAN, but I am assuming that this warning is coming from libiomp5.dll which common to both compilers and is at version 5.0.2011.1219
We used to work around it with kmp_set_warnings_off but of course that is not present in that OMP library anymore.
I noticed, also, that setting KMP_AFFINITY=none used to 'disable' this message, but now it has to be KMP_AFFINITY=disabled
Use KMP_AFFINITY=noverbose,none (or noverbose,disabled). It's a bug that the message is put out if you just have disabled or none. The developers are also looking into why the routines got removed.
