- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Compiling for other target different than AVX512, there is no error.
Compiler is:
Intel® Parallel Studio XE 2017 Update 4 Composer Edition for C++ Windows* Integration for Microsoft* Visual Studio* 2015, Version 17.0.76.14
ERROR:
1>C:\ALA64_03_17\sdlCAT3D\Rad_TERMA.C(497) (col. 5): : error : 04010020_1290
1>
1>xilink: : error #10014: problem during multi-file optimization compilation (code 4)
1>xilink: : error #10014: problem during multi-file optimization compilation (code 4)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
The options are:
/GS- /TC /Qopenmp /GA /Qrestrict /Qftz /W4 /QxCORE-AVX512 /Zc:wchar_t /Zi /O3 /Ob2 /Fd"x64\Release\vc140.pdb" /fp:fast=2 /Quse-intel-optimized-headers /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "MYSDL_MEVIS" /D "_MBCS" /Qipo /Zc:forScope /GR- /Qopt-matmul /Oi /MT /Fa"x64\Release\" /nologo /Fo"x64\Release\" /Qprof-dir "x64\Release\" /Qstd=c99 /Ot /Fp"x64\Release\CAT3D.pch"
And additional options:
/Qdiag-disable:1786,2557,3280,344,1879 /Qprec-div- /Qlong-double
It is a big project, a Radiation Treatment Planning System, not open source, so I can not send the sources.
Thanks Armando
- Tags:
- CC++
- Development Tools
- Intel® C++ Compiler
- Intel® Parallel Studio XE
- Intel® System Studio
- Optimization
- Parallel Computing
- Vectorization
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The "multi-file optimization" points to a problem with IPO. Have you confirmed that all of the binaries being combined were compiled with the same CORE-AVX512 ISA?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear John,
Thanks for your advice !
Not all the libraries are compiled for AVX512, I did not know it was mandatory to do that.
Most of our libraries are compiled as SSE3 and I can compile and link the project for SSE4.2, AVX, and AVX2 with success.
For the case of core-AVX512 all the dependencies needs to be compiled with /QxCORE-AVX512 ?
Thanks.
Armando
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't know what the requirements are -- the question came up here yesterday, so it was on my mind.... Your experience with combining other ISA suggests that it is not a requirement, but with new vector widths there are new ABI issues, so either new restrictions or new bugs seem plausible....
Does the project compile with CORE-AVX512 if you exclude the IPO option?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear John,
I just try changing /Qipo to /Qip and removing global optimization for the linker. Now is compiling and linking with success.
Conclusion: It is possivel to link libraries with SSE3 code with a project compiled for /QxCORE-AVX512 . The problem is triggered when attempting global optimizations.
But let me add some information that I already wrote on this forum. If I try global opt with add code path for AVX and and SS3 as specialized code, an error is triggered at link time. So I am now affraid of using the CPU dispatch for our big projects. On small projects there is no problem.
Regards,
Armando
New compiler options:
/GS- /TC /Qopenmp /GA /Qrestrict /Qftz /W4 /QxCORE-AVX512 /Zc:wchar_t /Zi /O3 /Ob2 /Fd"x64\Release\vc140.pdb" /fp:fast=2 /Quse-intel-optimized-headers /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "MYSDL_MEVIS" /D "_MBCS" /Qip /Zc:forScope /GR- /Qopt-matmul /Oi /MT /Fa"x64\Release\" /nologo /Fo"x64\Release\" /Qprof-dir "x64\Release\" /Qstd=c99 /Ot /Fp"x64\Release\CAT3D.pch"

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page