jeffhammond / vpu-count

Information about AVX-512 support on recent Intel processors
43 stars 3 forks source link

Add Rocket Lake #15

Open Wunkolo opened 3 years ago

Wunkolo commented 3 years ago

Just to track the topic and start the dialog, but RocketLake(Cypress Cove) is looking to be based on the same uarch as Icelake(Sunny Cove)! So maybe this data can be added to the readme.

InstLatX64 states that it has a single 512b FPU port

https://twitter.com/InstLatX64/status/1371934789356421125 image

jeffhammond commented 3 years ago

Thanks for adding this. While I no longer work for Intel, I'll be happy to maintain this project as long as people can contribute what is required to maintain it.

In this case, I want to wait until there is a measurement or similarly reliable determination of the AVX512 port count. For example, https://github.com/jeffhammond/vpu-count/blob/master/empirical.c was published by Intel in the SDM specifically to address the issue.

Wunkolo commented 3 years ago

For sure! I have lots of machines to run code on and contribute data-points for and will be getting a Rocket Lake machine very soon as well

jeffhammond commented 3 years ago

I'm happy to see data confirming things but I'm not sure how much is unknown right now. RKL seems known but needs to be confirmed because I can no longer ask an architect directly.

jeffhammond commented 2 years ago

@Wunkolo do you have an RKL measurement?

Wunkolo commented 2 years ago

Trying to get it to run on my 11900k right now but it seems that I can't get an installation of the intel-compiler going on archlinux. To make it easier moving forward, maybe a new binary-release is in order with some of the latest commits in?

Wunkolo commented 2 years ago

Was able to get a make-shift build going. Here's some outputs as of https://github.com/jeffhammond/vpu-count/commit/9926be92547979ae897d373367153e4689d5a6e0

I had to do a fix here to get it to compile: https://github.com/jeffhammond/vpu-count/blob/9926be92547979ae897d373367153e4689d5a6e0/vpu-count.c#L332-L336

-    return (icelake);
+    return (tigerlake);

The outputs:

% ./empirical.x 
vpu=1
% ./test.x
0x0: 1b,756e6547,6c65746e,49656e69
Intel? yes
0x1: a0671,8100800,7ffafbff,bfebfbff
signature:  0x0a0671
model:      0xa7=167
family:     0x06=6
ext model:  0x0a=10
Skylake server? no
0x1: a0671,8100800,7ffafbff,bfebfbff
signature:  0x0a0671
model:      0xa7=167
family:     0x06=6
ext model:  0x0a=10
Tiger Lake client? no
0x1: a0671,8100800,7ffafbff,bfebfbff
signature:  0x0a0671
model:      0xa7=167
family:     0x06=6
ext model:  0x0a=10
Ice Lake client? no
0x1: a0671,8100800,7ffafbff,bfebfbff
signature:  0x0a0671
model:      0xa7=167
family:     0x06=6
ext model:  0x0a=10
Ice Lake server? no
0x1: a0671,8100800,7ffafbff,bfebfbff
signature:  0x0a0671
model:      0xa7=167
family:     0x06=6
ext model:  0x0a=10
Cannon Lake client? no
0x7: 2,f2bf67eb,405f5e,bc000410
KNL uarch? no
0x7: 2,f2bf67eb,405f5e,bc000410
KNM uarch? no
0x7: 2,f2bf67eb,405f5e,bc000410
AVX2? yes
AVX2 detected
cpu_name = 11th Gen Intel(R) Core(TM) i9-11`@
0x1: a0671,8100800,7ffafbff,bfebfbff
FMA3? yes
FMA3 detected
0x1: 0,0,121,2c100800
FMA4? no
CPU has 0 AVX-512 VPUs

The last few lines of time.x:

...
AVX2 detected
cpu_name = 11th Gen Intel(R) Core(TM) i9-11
0x1: a0671,4100800,7ffafbff,bfebfbff
FMA3? yes
FMA3 detected
0x1: 0,0,121,2c100800
FMA4? no
vpu_count: n=1000, dt=88489.055634 us, dt/n=88.489056 us, j=0
vpu_avx512: n=1000, dt=87.976456 us, dt/n=0.087976 us, j=1000
vpu_name: n=1000, dt=1885.890961 us, dt/n=1.885891 us, j=-1000
vpu_platinum: n=1000, dt=1879.930496 us, dt/n=1.879930 us, j=0
jeffhammond commented 2 years ago

Sorry for the compilation error. Fixed in https://github.com/jeffhammond/vpu-count/commit/7f37feba474a702cf50376c685aebbf5e77ca6f9.

jeffhammond commented 2 years ago

This is what I needed. Thanks!

% ./empirical.x 
vpu=1