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

Unresolved symbol kmp_set_warnings_off

lou-muccioli
初學者
1,375 檢視
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 積分
7 回應
Steven_L_Intel1
1,375 檢視
Yes, there seem to be a great many entry points removed. I will find out what happened.
lou-muccioli
初學者
1,375 檢視
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/
AndrewC
新貢獻者 III
1,375 檢視
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.

Steven_L_Intel1
1,375 檢視
Are you running the current Fortran version? I thought that had been fixed for a couple of updates.
AndrewC
新貢獻者 III
1,375 檢視
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
Steven_L_Intel1
1,375 檢視
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.
AndrewC
新貢獻者 III
1,375 檢視
As a replacement for kmp_set_warnings_off one can use, apparently....

kmp_set_defaults("KMP_WARNINGS=0");

This is an acceptable workaround.
回覆