Skip to content
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

SkylakeX CPU Detect Supports Gen2 & Gen3. #37

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

xrq-phys
Copy link

@xrq-phys xrq-phys commented Apr 9, 2021

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.

Only gen1 is detected in current master.
@devinamatthews
Copy link
Owner

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.

@xrq-phys
Copy link
Author

xrq-phys commented Apr 14, 2021

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).

@xrq-phys
Copy link
Author

xrq-phys commented Apr 14, 2021

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.

@xrq-phys
Copy link
Author

BTW jeffhammond/vpu-count@9926be9 can be directly compiled w/ C++ compiler.

@xrq-phys
Copy link
Author

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.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants