Open alalazo opened 6 months ago
https://en.wikichip.org/wiki/intel/cpuid shows that you can't distinguish between Skylake (Server)
, Cascade Lake
, and Cooper Lake
based on family/model info, so I'm not sure how that's going to work out, since there's a difference in supported instructions (like avx512ifma
supported by Cooper Lake + Cascade Lake, but not Skylake, and avx512_vnni
supported by Cascade Lake but not Cooper Lake & Skylake)...
The idea is to prefilter
the architectures we check for compatibility. Not sure it's worth merging this change, but I wanted to write the draft idea somewhere since on icelake
I got a 3x speed-up on detection.
In this PR we introduce a top-level attribute with mappings from CPU family/model numbers to the corresponding microarchitecture names. At the moment this is a prototype to showcase a possible enhancement of the detection algorithm on x86_64 processors.
If the approach seems ok, then we need to add the remaining data points from https://en.wikichip.org/wiki/intel/cpuid and https://en.wikichip.org/wiki/amd/cpuid