2

The Intel Classic Compiler had a compilation flag -ax which I'd use to generate additional code paths for multiple instructions sets, such as AVX512, which was very convenient as I'd only build and receive a single binary.

With the next-generation intel compiler the documentation omits this flag from the full list of compiler flags, but still makes reference to it in other sections (including the porting guide). When I attempt to use it with versions 2022.0.0 or 2022.0.1, ICPX tells me the flag is unrecognized:

$ icpx -axCORE-AVX512
icpx: command line warning #10430: Unsupported command line options encountered
These options as listed are not supported.
For more information, use '-qnextgen-diag'.
option list: 
    -axCORE-AVX512

Is there any way to recover the old behaviour with the new compiler? Otherwise it looks like I will have to quintuple my CI time spent building and deploying to ship 5 binaries instead of one, not to mention that users will also now need to know what instructions their CPU supports.

Yattabyte
  • 1,280
  • 14
  • 28
  • Could you please let us know the OS details and hardware you are using? And also, when we tried on the latest Intel oneAPI we got the expected results without any warnings. Please try using the latest oneAPI(2022.2) or dpcpp(2022.1.0) and let us know if you are facing any issues. – Varsha - Intel Sep 26 '22 at 06:36
  • @Varsha-Intel Administrators on the intel forums said it was a planned feature but not yet implemented. RHEL7 & WIN10. No access to server hardware specs. I'll double check the version numbers used on our servers. – Yattabyte Sep 27 '22 at 15:14
  • We are using 2022.0 in production, and 2022.1 for development/testing. I will repeat my tests with 2022.2 when it is safe to do so. Just to confirm @Varsha-Intel I'm referring to using the oneAPI DPC++/C++ compiler (the new LLVM based one, not the classic one) – Yattabyte Sep 29 '22 at 19:57

0 Answers0