-
-
Couldn't load subscription status.
- Fork 69
[enh] Add intel compiler support #131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I will reach out to compiler development about __builtin_cpu_supports("avx512fp16") issues with icpx |
|
So I had erroneously set the intel compiler check within an if statement for |
|
Local testing shows that icpx/icc do not support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thank you for adding CI as well.
Macro definition for X86_SIMD_SORT_UNROLL_LOOP will break x86-simd-sort when compiling with icc as they define
__GNUC__. This introduces a check for an Intel compiler by looking if __INTEL_COMPILER has been set, and sets the appropriate pragma (not done for __INTEL_LLVM_COMPILER due to compiling performance issues).There is also an issue with avx2 where icc will complain that there isn't a return type for avx2_vector for 32 and 64 bit. The compile time evaluation and static assert are placed ahead of a generalized return, which shouldn't change the logic or runtime. I definitely recommend the maintainers to evaluate those changes if they make sense (should the static assert require a previous constexpr check?)
Intel LLVM C++ compilers do not define __builtin_cpu_supports("avx512fp16") which requires certain code not to be run when using icpx on sapphirerapids ISA-capable machines.
Testing uses the intel apt repository for getting the icpx compiler. The GPG key can be added, but that will add something that must be updated in the future/ requires future maintenance. Suggestions are welcome.
Meson from apt is out of date enough that it doesn't know of the icpx compiler. The pip version is up to date and is instead used in the new additional CI job.
Tasks