Software Archive
Read-only legacy content
17060 Discussions

Error when using icl with /Qmic

Ge_Z_
Beginner
1,096 Views

Hi,

 

I have some C++ code (attached files). When I compile them with the following command:

icl -fast -openmp -std=c++0x -I C:\boost_1_54_0 *.cpp

I get no error. However, when I compile them using:

icl /Qmic -fast -openmp -std=c++0x -I C:\boost_1_54_0 *.cpp

I get the following error:

----------------------------------------------------------

Intel(R) C++ Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Ve
rsion 14.0.1.139 Build 20131008
Copyright (C) 1985-2013 Intel Corporation. All rights reserved.
icc: warning #10342: -liomp5 linked in dynamically, static library not available
for Intel(R) MIC Architecture
k1om-mpss-linux-ld.exe: C:/Program Files/Intel/MPSS/k1om-mpss-linux/../k1om-mpss
-linux\lib64\libstdc++.a(eh_globals.o): undefined reference to symbol '__tls_get
_addr@@GLIBC_2.14'
k1om-mpss-linux-ld.exe: note: '__tls_get_addr@@GLIBC_2.14' is defined in DSO C:/
Program Files/Intel/MPSS/k1om-mpss-linux/lib64/ld-linux-k1om.so.2 so try adding
it to the linker command line
C:/Program Files/Intel/MPSS/k1om-mpss-linux/lib64/ld-linux-k1om.so.2: could not
read symbols: Invalid operation

---------------------------------------------------

 

Could anyone figure out what's the problem?

 

Best,

Ge

0 Kudos
1 Solution
Kevin_D_Intel
Employee
1,096 Views

The test case requires Boost headers which I do not have.

Can you try compiling with /Qmic but without -fast?

View solution in original post

0 Kudos
7 Replies
Kevin_D_Intel
Employee
1,097 Views

The test case requires Boost headers which I do not have.

Can you try compiling with /Qmic but without -fast?

0 Kudos
Ge_Z_
Beginner
1,096 Views

It works with /Qmic but without -fast! That's amazing. Thank you very much!

I found that -O3 and -ipo works. So I can compile it in the following way:

icl /Qmic -O3 -ipo -openmp -std=c++0x -I C:\boost_1_54_0 *.cpp

Again, thank you very much for your help.

0 Kudos
Kevin_D_Intel
Employee
1,096 Views

Glad that worked for you. I recalled hearing in passing last week that -fast /Qmic was problematic so that's why I suggested that. I will go find out a bit more about that and share what I learn later.

0 Kudos
Ge_Z_
Beginner
1,096 Views

If I compile it without -fast, should I specify some vectorization option to get the best performance?

0 Kudos
Ge_Z_
Beginner
1,096 Views

I mean, when using sandy bridge CPUs I was told that using -xavx can improve speed. Should I use -xSomething when compiling for xeon phi?

0 Kudos
Kevin_D_Intel
Employee
1,096 Views

-x<arch> is not available when targeting the Intel MIC architecture. If you have not already found this, there's good information in the Xeon Phi BKM here.

0 Kudos
Ge_Z_
Beginner
1,096 Views

I see. Thank you for your answer.

0 Kudos
Reply