SkylakeX CPU Detect Supports Gen2 & Gen3.
It seems that only Gen1 SkylakeX is recognized by current skx2 config.
To support later Gen2 & Gen3 CPUs, additional lines in VPU counter seems required.
This looks good, but if you don't mind a bit of extra elbow grease, it would be great to tweak things such that we can drop in the cpuid code straight from BLIS.
Oh sorry I didn't check bli_cpuid.c.
I'll modify this ~to use directly bli_cpuid.c:vpu_count(...)~ (or its upstream jeffhammond/vpu-count@9926be9).
Hi.
Checked bli_cpuid.c and noticed that all Xeon Silver are casted to have 1 VPU/core, while 3rd-Gen Xeon Silver has 2 in fact. Another issue is that W-2102 is determined to have 2 but only 1 is there according to ark.intel.com.
In upstream jeffhammond/vpu-count@9926be9, 3rd-Gen Xeon (Cooper lake or Ice lake) are handled separately, but maybe determining solely with processor number becomes better now as Gold/Silver is less correlated to VPUs/core?
I've updated the current approach to reproduce jeffhammond/vpu-count@9926be9 as much as possible (2&3-Gen Xeon & Xeon W) but directly importing vpu_count.c seems another good way.
BTW jeffhammond/vpu-count@9926be9 can be directly compiled w/ C++ compiler.
Noticed that with recent introduction of Tiger Lake, i7 with AVX512 is no longer guaranteed to have 2 VPUs.
Sadly ark.intel gives blurry information on # of VPUs of consumer-level processors.
Maybe dropping-in jeffhammond/vpu-count@9926be9 is the only best solution then.
I'll do this and give a simple test. (Simple test as I don't have a 11st Gen Core with me.)