Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Disable kmp_affinity warnings

aurora
Beginner
1,418 Views

Hi,

I'm doing a graphic application that also uses OpenMP. This application has que linker flag /SUBSYSTEM:WINDOWS in order to not create an additional command line window. The problem is that in non-Intel cpu, the kmp_affinity warning is opening the command line window to show the message.

How can I manage this? The only thing I can't do is to change general environment variables ( other programs could be using openmp).

Thanks in advance!

0 Kudos
9 Replies
Vladimir_P_1234567890
1,418 Views
0 Kudos
aurora
Beginner
1,418 Views

Hi,

No, I can't change users (clients) general environment variables.

0 Kudos
Vladimir_P_1234567890
1,418 Views

can't you use kmp_set_defaults() function in your program? it does not affect an environment outside the program.

--Vladimir

0 Kudos
aurora
Beginner
1,418 Views

The warning message is shown before my main function starts, I think when the openmp library does the dynamic loading

0 Kudos
Andrey_C_Intel1
Employee
1,418 Views

Can you update the compiler?  This problem was fixed more than 2 years ago in compiler 12.1 update 9.

- Andrey

0 Kudos
aurora
Beginner
1,418 Views

I'm using 13.0 version and the KMP_affinity message is shown as well

0 Kudos
pbkenned1
Employee
1,418 Views

This was fixed in the 13.0 OMP runtime library in late May of 2012.  Exactly what version of 13.0 are you using?  Can you please 'set KMP_VERSION=1' in your environment, run your application, and let us know what the 'OMP Version' is?

 

On Linux, I know this is fixed in the last 13.0 update, so you may need to update to the equivalent 13.0 Windows compiler.

 

Patrick

0 Kudos
aurora
Beginner
1,418 Views

Hi,

 

The compiler I'm using is "Intel(R) C++ Intel(R) 64 Compiler XE on Intel(R) 64, version 13.1.3 Package ID: w_ccompxe_2013.5.198"

Which is exactly the bug? The KMP_AFFINITY warning dissappears when I do set KMP_AFFINITY=none

With KMP_VERSION=1 ( using the binaries on an Intel processor, not AMD): 

 Intel(R) OMP Copyright (C) 1997-2011, Intel Corporation. All Rights Reserved.

Intel(R) OMP version: 5.0.20110823
Intel(R) OMP library type: performance
Intel(R) OMP link type: dynamic
Intel(R) OMP build time: 2011-08-31 12:43:20 UTC
Intel(R) OMP build compiler: Intel C++ Compiler 12.0
Intel(R) OMP alternative compiler support: yes
Intel(R) OMP API version: 3.0 (200805)
Intel(R) OMP tracefile support: no
Intel(R) OMP dynamic error checking: no
Intel(R) OMP helper thread support: yes
Intel(R) OMP thread affinity support: not used
Intel(R) OMP debugger support version: 1.1

I think I'm using the wrong OMP version. Let me check it...

 

0 Kudos
pbkenned1
Employee
1,418 Views

There's a mismatch between the compiler version you are using and the OMP runtime that is getting loaded by your application. 

 

icl-13.1.3.198 (package w_ccompxe_2013.5.198.exe) contains Intel(R) OMP version: 5.0.20130507, but you are picking up Intel(R) OMP version: 5.0.20110823, which doesn't have the fix.  You'll have to correct $Path and $LIB to make sure the runtime for 13.1.3.198 is picked up.

 

Patrick

 

C:\OpenMP\Examples\NT>icl -Qopenmp matmul2_GetProcessTimes.cpp
Intel(R) C++ Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 13.1.3.198 Build 20130607
Copyright (C) 1985-2013 Intel Corporation.  All rights reserved.

matmul2_GetProcessTimes.cpp
Microsoft (R) Incremental Linker Version 11.00.50727.1
Copyright (C) Microsoft Corporation.  All rights reserved.

-out:matmul2_GetProcessTimes.exe
-defaultlib:libiomp5md.lib
-nodefaultlib:vcomp.lib
-nodefaultlib:vcompd.lib
matmul2_GetProcessTimes.obj

C:\OpenMP\Examples\NT>matmul2_GetProcessTimes.exe

 Using clock() for wall clock time
 Problem size: c(900,3600) = a(900,1800)*b(1800,3600)
 Calculating product 1 time(s)
 GetCurrentProcessId = 3484

Intel(R) OMP Copyright (C) 1997-2013, Intel Corporation. All Rights Reserved.
Intel(R) OMP version: 5.0.20130507

0 Kudos
Reply