Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29011 Discussions

Unresolved symbol kmp_set_warnings_off

lou-muccioli
Beginner
1,197 Views
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.
0 Kudos
7 Replies
Steven_L_Intel1
Employee
1,197 Views
Yes, there seem to be a great many entry points removed. I will find out what happened.
0 Kudos
lou-muccioli
Beginner
1,197 Views
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/
0 Kudos
AndrewC
New Contributor III
1,197 Views
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.

0 Kudos
Steven_L_Intel1
Employee
1,197 Views
Are you running the current Fortran version? I thought that had been fixed for a couple of updates.
0 Kudos
AndrewC
New Contributor III
1,197 Views
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
0 Kudos
Steven_L_Intel1
Employee
1,197 Views
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.
0 Kudos
AndrewC
New Contributor III
1,197 Views
As a replacement for kmp_set_warnings_off one can use, apparently....

kmp_set_defaults("KMP_WARNINGS=0");

This is an acceptable workaround.
0 Kudos
Reply