Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions Standards/scs-0100-v3-flavor-naming.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ description: |

## Introduction

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

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

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

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, ...,
for AMD GCN-x=0.x, RDNA1=1, C/RDNA2=2, C/RDNA3=3, C/RDNA3.5=3.5, C/RDNA4=4, ...
for Intel Gen9=0.9, Xe(12.1/DG1)=1, Xe(12.2)=2, Arc(12.7/DG2)=3 ...
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, ...,
for AMD GCN-x=0.x, CDNA-x=x, RDNA-x=x.1, RDNA-3.5=3.5, UDNA-x=x
for Intel Gen9=0.9, Xe(12.1/DG1)=1, Xe(12.2)=2, Arc(12.7/DG2)=3, BattleImage(20.0)=4, ...
(Note: This may need further work to properly reflect what's out there.)

The optional `h` suffix to the compute unit count indicates high-frequency GPU compute units.
Expand Down
6 changes: 6 additions & 0 deletions Standards/scs-0100-w1-flavor-naming-implementation-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,12 @@ Cores and 64 Stream Processors per CU.
| Inst MI300X | 1216 | 19456 | 304 | 192G HBM3 | `GA3-304-192h` |
| Inst MI325X | 1216 | 19456 | 304 | 288G HBM3 | `GA3-304-288h` |

Note that we previously assumed more similarity of consumer RDNA-x with
server CDNA-x that actually is the case; the RDNA-x cards now use `x.1`
(since v3.3 as of Oct 2025) to be able to differentiate them. We will
tolerate potential rate cases of old installations calling RDNA-x as
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
tolerate potential rate cases of old installations calling RDNA-x as
tolerate potential rare cases of old installations calling RDNA-x as

generation `x` for the time being.

#### intel Xe (`I`)

##### Xe-HPC (Ponte Vecchio) (`3`)
Expand Down
19 changes: 11 additions & 8 deletions Tests/iaas/scs_0100_flavor_naming/flavor_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@ class Hype:
"""Class repesenting Hypervisor"""
type = "Hypervisor"
component_name = "hype"
hype = TblAttr(".Hypervisor", {"kvm": "KVM", "xen": "Xen", "hyv": "Hyper-V", "vmw": "VMware", "bms": "Bare Metal System"})
hype = TblAttr(".Hypervisor", {"kvm": "KVM (w/ qemu)", "chy": "Cloud Hypervisor", "xen": "Xen", "hyv": "Hyper-V",
"vmw": "VMware", "bms": "Bare Metal System"})

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