Skip to content

Commit 95f2f3b

Browse files
committed
v3.3: Add latest CPUs and GPUs. Add Cloud Hypervisor.
We have Zen-6 on the Horizon and we might see Oryonv3 (Qualcomm) based server CPUs. Add nVidia Blackwell (b), AMD CDNA 4, RDNA 4 and 5, intel BattleImage (4). I was wrong with my assumption that CDNA and RDNA are very similar, so use .1 versions for RDNA. This means that server/supercomptuing GPUs don't change their names. (Consumer GPUs would, but those are unlikely to be used in clouds -- I'm not aware of any.) Add Cloud Hypervisor (intel / cyberus) as new Hypervisor (chy). Signed-off-by: Kurt Garloff <[email protected]>
1 parent 24b8033 commit 95f2f3b

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

Standards/scs-0100-v3-flavor-naming.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ description: |
1414

1515
## Introduction
1616

17-
This is the standard v3.2 for SCS Release 8.
17+
This is the standard v3.3 for SCS Release 10.
1818
Note that we intend to only extend it (so it's always backwards compatible),
1919
but try to avoid changing in incompatible ways.
2020
(See at the end for the v1 to v2 transition where we have not met that
@@ -307,7 +307,8 @@ or Bare Metal Systems should indicate the Hypervisor according to the following
307307

308308
| hyp | Meaning |
309309
| --- | ----------------- |
310-
| kvm | KVM |
310+
| kvm | KVM (w/ qemu) |
311+
| chy | Cloud Hypervisor |
311312
| xen | Xen |
312313
| vmw | VMware |
313314
| hyv | Hyper-V |
@@ -374,7 +375,7 @@ conjunction with a vendor. At present, these values are possible:
374375
| 3 | Ice Lake | Zen-3 (Milan) | A71x/NeoN2/V2(ARMv9) | TBD |
375376
| 4 | Sapphire Rapids | Zen-4 (Genoa) | AmpereOne (ARMv8.6) | TBD |
376377
| 5 | Sierra Forest(E) | Zen-5 (Turin) | A72x/NeoN3/V3(Av9.2) | TBD |
377-
| 6 | Granite Rapids(P) | | | TBD |
378+
| 6 | Granite Rapids(P) | Zen-6 (Morpheus) | OryonV3 (ARMv9.2) | TBD |
378379

379380
It is recommended to leave out the `0` when specifying the old generation; this will
380381
help the parser tool, which assumes 0 for an unspecified value and does leave it
@@ -386,7 +387,7 @@ out when generating the name for comparison. In other words: 0 has a meaning of
386387
We don't differentiate between Zen-4 (Genoa) and Zen-4c (Bergamo); L3 cache per
387388
Siena core is smaller on Bergamo and the frequency lower but the cores are otherwise
388389
identical. As we already have a qualifier `h` that allows to specify higher frequencies
389-
(which Genoa thus may use more and Bergamo not), we have enough distinction
390+
(which Genoa thus may use and Bergamo not), we have enough distinction
390391
capabilities. The same applies to Zen-5 (Turin) and Zen-5c (Turin Dense).
391392
For intel with the server E-cores (Crestmont), these received their own
392393
generation assignment, as the difference to the server P-cores (Redwood Cove)
@@ -437,9 +438,9 @@ Note that the vendor letter X is mandatory, generation and processing units are
437438
| `A` | AMD | compute units (CUs) |
438439
| `I` | Intel | execution units (EUs) |
439440

440-
For nVidia, the generation N can be f=Fermi, k=Kepler, m=Maxwell, p=Pascal, v=Volta, t=turing, a=Ampere, l=Ada Lovelace, g=Grace Hopper, ...,
441-
for AMD GCN-x=0.x, RDNA1=1, C/RDNA2=2, C/RDNA3=3, C/RDNA3.5=3.5, C/RDNA4=4, ...
442-
for Intel Gen9=0.9, Xe(12.1/DG1)=1, Xe(12.2)=2, Arc(12.7/DG2)=3 ...
441+
For nVidia, the generation N can be f=Fermi, k=Kepler, m=Maxwell, p=Pascal, v=Volta, t=turing, a=Ampere, l=Ada Lovelace, g=Grace Hopper, b=Blackwell, ...,
442+
for AMD GCN-x=0.x, CDNA-x=x, RDNA-x=x.1, RDNA-3.5=3.5, UDNA-x=x
443+
for Intel Gen9=0.9, Xe(12.1/DG1)=1, Xe(12.2)=2, Arc(12.7/DG2)=3, BattleImage(20.0)=4, ...
443444
(Note: This may need further work to properly reflect what's out there.)
444445

445446
The optional `h` suffix to the compute unit count indicates high-frequency GPU compute units.

Tests/iaas/scs_0100_flavor_naming/flavor_names.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,8 @@ class Hype:
180180
"""Class repesenting Hypervisor"""
181181
type = "Hypervisor"
182182
component_name = "hype"
183-
hype = TblAttr(".Hypervisor", {"kvm": "KVM", "xen": "Xen", "hyv": "Hyper-V", "vmw": "VMware", "bms": "Bare Metal System"})
183+
hype = TblAttr(".Hypervisor", {"kvm": "KVM (w/ qemu)", "chy": "Cloud Hypervisor", "xen": "Xen", "hyv": "Hyper-V",
184+
"vmw": "VMware", "bms": "Bare Metal System"})
184185

185186
def shorten(self):
186187
return None
@@ -204,9 +205,10 @@ class CPUBrand:
204205
cpugen = DepTblAttr("#.CPU Gen", cpuvendor, {
205206
"i": {None: '(unspecified)', 0: "Unspec/Pre-Skylake", 1: "Skylake", 2: "Cascade Lake", 3: "Ice Lake", 4: "Sapphire Rapids",
206207
5: 'Sierra Forest (E)', 6: 'Granite Rapids (P)'},
207-
"z": {None: '(unspecified)', 0: "Unspec/Pre-Zen", 1: "Zen 1", 2: "Zen 2", 3: "Zen 3", 4: "Zen 4/4c", 5: "Zen 5/5c"},
208+
"z": {None: '(unspecified)', 0: "Unspec/Pre-Zen", 1: "Zen 1", 2: "Zen 2", 3: "Zen 3", 4: "Zen 4/4c", 5: "Zen 5/5c",
209+
6: 'Zen6/6c'},
208210
"a": {None: '(unspecified)', 0: "Unspec/Pre-A76", 1: "A76/NeoN1", 2: "A78/X1/NeoV1", 3: "A71x/NeoN2/V2",
209-
4: "AmpereOne", 5: "A72x/NeoN3/V3"},
211+
4: "AmpereOne", 5: "A72x/NeoN3/V3", '6: "OryonV3'},
210212
"r": {None: '(unspecified)', 0: "Unspec"},
211213
})
212214
perf = TblAttr("Performance", {"": "Std Perf", "h": "High Perf", "hh": "Very High Perf", "hhh": "Very Very High Perf"})
@@ -230,12 +232,13 @@ class GPU:
230232
gputype = TblAttr("Type", {"g": "vGPU", "G": "Pass-Through GPU"})
231233
brand = TblAttr("Brand", {"N": "Nvidia", "A": "AMD", "I": "Intel"})
232234
gen = DepTblAttr("Gen", brand, {
233-
"N": {'': '(unspecified)', "f": "Fermi", "k": "Kepler", "m": "Maxwell", "p": "Pascal",
234-
"v": "Volta", "t": "Turing", "a": "Ampere", "l": "AdaLovelace", "g": "GraceHopper"},
235-
"A": {'': '(unspecified)', "0.4": "GCN4.0/Polaris", "0.5": "GCN5.0/Vega", "1": "RDNA1/Navi1x", "2": "C/RDNA2/Navi2x",
236-
"3": "C/RDNA3/Navi3x", "3.5": "C/RDNA3.5", "4": "C/RDNA4"},
235+
"N": {'': '(unspecified)', "f": "Fermi", "k": "Kepler", "m": "Maxwell", "p": "Pascal", "v": "Volta",
236+
"t": "Turing", "a": "Ampere", "l": "AdaLovelace", "g": "GraceHopper"; "b": "Blackwell"},
237+
"A": {'': '(unspecified)', "0.4": "GCN4.0/Polaris", "0.5": "GCN5.0/Vega", "1": "CDNA1", "1.1": "RDNA1/Navi1x",
238+
"2": "CDNA2", "2.1": "RDNA2/Navi2x", "3": "CDNA3", "3.1": "RDNA3/Navi3x", "3.5": "RDNA3.5", "4": "CDNA4",
239+
"4.1": "RDNA-4/Navi4x", "5.1": "RDNA-5/Navi5x"},
237240
"I": {'': '(unspecified)', "0.9": "Gen9/Skylake", "0.95": "Gen9.5/KabyLake", "1": "Xe1/Gen12.1/DG1", "2": "Xe2/Gen12.2",
238-
"3": "Arc/Gen12.7/DG2"},
241+
"3": "Arc/Gen12.7/DG2", "4": "BattleImage/Gen20.0"},
239242
})
240243
cu = OptIntAttr("#.N:SMs/A:CUs/I:EUs")
241244
perf = TblAttr("Frequency", {"": "Std Freq", "h": "High Freq", "hh": "Very High Freq"})

0 commit comments

Comments
 (0)