- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The test case requires Boost headers which I do not have.
Can you try compiling with /Qmic but without -fast?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The test case requires Boost headers which I do not have.
Can you try compiling with /Qmic but without -fast?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I compile it without -fast, should I specify some vectorization option to get the best performance?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
-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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I see. Thank you for your answer.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page