Skip to content

Comments

SkylakeX CPU Detect Supports Gen2 & Gen3.#37

Open
xrq-phys wants to merge 2 commits intoMatthewsResearchGroup:masterfrom
xrq-phys:patch-skx-gen3
Open

SkylakeX CPU Detect Supports Gen2 & Gen3.#37
xrq-phys wants to merge 2 commits intoMatthewsResearchGroup:masterfrom
xrq-phys:patch-skx-gen3

Conversation

@xrq-phys
Copy link
Contributor

@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
Member

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
Contributor 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
Contributor 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
Contributor Author

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

@xrq-phys
Copy link
Contributor 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