Skip to content

Commit 1da629a

Browse files
garloffmbuechse
andauthored
Feat/curr cpu and gpu 202510 (#1002)
* 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). * Note on RDNA-x rename. * Fix syntax error. * Fix typo (rate->rare) * Update Standards/scs-0100-v3-flavor-naming.md Let's keep out Oryon for now, have not seen Server Chips yet. Fix Zen 6 *server* codename * Fix table spaces. Remove Oryon from ARM list again. The latter change keeps https://flavors.scs.community/ in sync with the current definitions. * Link to Docs page for SSD decision record. --------- Signed-off-by: Kurt Garloff <[email protected]> Co-authored-by: Matthias Büchse <[email protected]>
1 parent 3304b2c commit 1da629a

File tree

3 files changed

+26
-16
lines changed

3 files changed

+26
-16
lines changed

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

Lines changed: 10 additions & 9 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
@@ -192,7 +192,7 @@ latency (high IOPS) and bandwidth disk I/O. `n` storage is expected to survive
192192
single-disk and single-node failure.
193193

194194
For specific requirements on the SSD and NVMe disks regarding IOPS and
195-
power-loss protection, refer to Decision Record [scs-0110-ssd-flavors](https://github.com/SovereignCloudStack/standards/blob/main/Standards/scs-0110-v1-ssd-flavors.md).
195+
power-loss protection, refer to Decision Record [scs-0110-ssd-flavors](https://docs.scs.community/standards/scs-0110-v1-ssd-flavors).
196196

197197
If the disk size is left out, the cloud is expected to allocate a disk (network or local)
198198
that is large enough to fit the root file system (`min_disk` in image). This automatic
@@ -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 |
@@ -366,15 +367,15 @@ The options for arch are as follows:
366367
The generation is vendor specific and can be left out, but it can only be specified in
367368
conjunction with a vendor. At present, these values are possible:
368369

369-
| Generation | i (Intel x86-64) | z (AMD x86-64) |  a (AArch64) | r (RISC-V) |
370+
| Generation | i (Intel x86-64) | z (AMD x86-64) | a (AArch64) | r (RISC-V) |
370371
| ---------- | ----------------- | -------------- | -------------------- | ---------- |
371372
| 0 | pre Skylake | pre Zen | pre Cortex A76 | TBD |
372373
| 1 | Skylake | Zen-1 (Naples) | A76/NeoN1 class | TBD |
373374
| 2 | Cascade Lake | Zen-2 (Rome) | A78/x1/NeoV1 class | TBD |
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 (Venice) | | 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.

Standards/scs-0100-w1-flavor-naming-implementation-testing.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,12 @@ Cores and 64 Stream Processors per CU.
135135
| Inst MI300X | 1216 | 19456 | 304 | 192G HBM3 | `GA3-304-192h` |
136136
| Inst MI325X | 1216 | 19456 | 304 | 288G HBM3 | `GA3-304-288h` |
137137

138+
Note that we previously assumed more similarity of consumer RDNA-x with
139+
server CDNA-x that actually is the case; the RDNA-x cards now use `x.1`
140+
(since v3.3 as of Oct 2025) to be able to differentiate them. We will
141+
tolerate potential rare cases of old installations calling RDNA-x as
142+
generation `x` for the time being.
143+
138144
#### intel Xe (`I`)
139145

140146
##### Xe-HPC (Ponte Vecchio) (`3`)

Tests/iaas/scs_0100_flavor_naming/flavor_names.py

Lines changed: 10 additions & 7 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,7 +205,8 @@ 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",
209211
4: "AmpereOne", 5: "A72x/NeoN3/V3"},
210212
"r": {None: '(unspecified)', 0: "Unspec"},
@@ -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)