- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
I have recently upgraded to MPSS-3.6.1 to make use of gcc 5.1 on the Phi but the linker of the offload code now fails trying to find libcoi_device
It appears that this library is not installed on the host by MPSS-3.6.1 and /opt/intel/mic only contains the host the libcoi_host
Do I need to compile this library from the source code?
Thanks
Jamil
Error Message
MIC command line:
icpc -fPIC -fPIC -openmp -std=c++11 -diag-disable 10397 -diag-disable 3699 -diag-disable 10128 -diag-disable 1478 -diag-disable remark -fargument-noalias -ansi-alias -opt-report2 -opt-report-phase=loop,vec,offload -O3 -DNDEBUG -shared -o libzCFDDispatch.so /tmp/icpcMICwSyvg5 - -opt-report2 -opt-report-phase=loop,vec
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libimf.so when searching for -limf
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libimf.a when searching for -limf
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libsvml.so when searching for -lsvml
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libsvml.a when searching for -lsvml
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libirng.so when searching for -lirng
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libirng.a when searching for -lirng
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libipgo.a when searching for -lipgo
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libdecimal.a when searching for -ldecimal
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libiomp5.so when searching for -liomp5
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libiomp5.a when searching for -liomp5
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libiomp5.so when searching for -liomp5
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libiomp5.a when searching for -liomp5
ld: skipping incompatible /opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic/libcilkrts.so.5 when searching for libcilkrts.so.5
ld: cannot find -lcoi_device
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How did you get the MIC command line. Who created the file /tmp/icpcMICwSyvg5 used in the command line.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For MIC compilation linker used is k1om-mpss-linux-ld and not ld as reported by you.
In order to verify the MIC compilation is correct can you generate the output using -v option.
Thanks
Ravi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Colleague pointed out that your are using MIC-AVX512 in your -ax options. This option is for generating code for KNL architecture and should have been flagged as error, but due to a bug confused the compiler and it is invoking ld which is the right for KNL. Trying compiling by removing MIC-AVX512.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
After further discussion internally, the driver behavior is correct. You cannot use -axMIC-AVX512 with MPSS 3.6 which is for KNC. MIC-AVX512 is supported for KNL and needs a different MPSS.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jamil,
The default for Xeon Phi coprocessor x100 (formerly code name Knights Corner) uses 512 vector register. This is the generation you are using with MPSS 3.6. For Xeon PHi coprocessor (formerly code name Knights Landing) you need to use MIC-AVX512 to enable AVX512 instructions.
By using MIC-AVX512 the compiler assumes you are compiling for Knights Landing and hence does not find the coi_device library in the MPSS 3.6 you have installed.
Ravi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page