Intel® oneAPI DPC++/C++ Compiler
Talk to fellow users of Intel® oneAPI DPC++/C++ Compiler and companion tools like Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and Intel® Distribution for GDB*
803 Discussions

Non-Intel processor support in icx with fallback

grantroch
Beginner
622 Views

Hello. We are compiling software for Windows to be used on both Intel and non-Intel processors. We would like to compile this with AVX2 support on both types of processors. However, we also need a fallback in case a processor does not support AVX2 instructions. Looking at the compiler options I don't see a combination that supports this scenario.

The `/arch` flag is the one that provides "generic" support for instruction sets. However, this does not allow multiple architectures to be specified so there is no way to have a fallback. `/Qax` provides Intel-specific support and also uses a baseline provided by `/arch`. However, since `/Qax` is Intel-specific and will not work on non-Intel processors, the `/arch` flag must be used as the baseline but both AVX2 and the baseline cannot be specified for non-Intel processors. Similarly, `/Qx` only provides Intel-specific AVX2 optimisations and so has the same problem as `/Qax` and a baseline cannot be specified with this option.

 

Hopefully I understand the flags and their details. Can you please verify that my understanding is correct? If so, I would appreciate any advice you have to tackle this situation.

 

Thanks!

0 Kudos
1 Reply
Viet_H_Intel
Moderator
428 Views

Your understanding is correct. But I don't have any advice to tackle this situation.

0 Kudos
Reply