Skip to main content

SCS Flavor Naming Standard: Implementation and Testing Notes

Introduction

The three major versions of the standard that exist so far are very similar, and deliberately so. Therefore, the procedures needed to implement or test them are very similar as well. Yet, this document will only cover v3, because v1 and v2 are already obsolete by the time of writing.

Implementation notes

Every flavor whose name starts with SCS- must conform with the naming scheme laid down in the standard.

Operational tooling

Syntax check

The test suite comes with a handy command-line utility that can be used to validate flavor names, to interactively construct a flavor name via a questionnaire, and to generate prose descriptions for given flavor names. See the README for more details.

The functionality of this script is also (partially) exposed via the web page https://flavors.scs.community/, which can both parse SCS flavors names as well as generate them.

With the OpenStack tooling (python3-openstackclient, OS_CLOUD) in place, you can call cli.py -v parse v3 $(openstack flavor list -f value -c Name) to get a report on the syntax compliance of the flavor names of the cloud environment.

Flavor creation

The OpenStack Flavor Manager from OSISM will create a whole set of flavors in one go. To that end, it provides different options: either the standard mandatory and possibly recommended flavors can be created, or the user can set a file containing his flavors.

GPU table

The most commonly used datacenter GPUs are listed here, showing what GPUs (or partitions of a GPU) result in what GPU part of the flavor name. We provide these for convenience; most values are from data sheets and not based on own testing. Providers must look up the values (SMs/CUs/EUs and VRAM) really provided to users and correctly fill these into the SCS names. This is in particular true for the MIG configurations.

Nvidia (N)

We show the most popular recent generations here. Older one are of course possible as well.

Ampere (a)

One Streaming Multiprocessor on Ampere has 64 (A30, A100) or 128 Cuda Cores (A10, A40).

GPUs without MIG (one SM has 128 Cuda Cores and 4 Tensor Cores):

Nvidia GPUTensor CCuda CoresSMsVRAMSCS name piece
A1028892167224G GDDR6GNa-72-24
A40336107528448G GDDR6GNa-84-48

GPUs with Multi-Instance-GPU (MIG), where GPUs can be partitioned and the partitions handed out as as pass-through PCIe devices to instances. One SM corresponds to 64 Cuda Cores and 4 Tensor Cores.

Nvidia GPUFractionTensor CCuda CoresSMsVRAMSCS GPU name
A301/122435845624G HBM2GNa-56-24
A301/211217922812G HBM2GNa-28-12
A301/456896146G HBM2GNa-14-6
A30X1/122435845624G HBM2eGNa-56h-24h
A1001/1432691210880G HBM2eGNa-108h-80h
A1001/221634565440G HBM2eGNa-54h-40h
A1001/410817282720G HBM2eGNa-27h-20h
A1001/760+960+15+10G HBM2eGNa-15h-10h+
A100X1/1432691210880G HBM2eGNa-108-80h

[+] The precise numbers for the 1/7 MIG configurations are not known by the author of this document and need validation.

Ada Lovelave (l)

No MIG support, 128 Cuda Cores and 4 Tensor Cores per SM.

Nvidia GPUTensor CCuda CoresSMsVRAMSCS name piece
L423274245824G GDDR6GNl-58-24
L405681817614248G GDDR6GNl-142-48
L40G5681817614248G GDDR6GNl-142h-48
L40S5681817614248G GDDR6GNl-142hh-48
Nvidia GPUTensor CCuda CoresSMsVRAMSCS name piece
RTX2000 Ada8828162216G GDDR6GNl-22-16
RTX4000 Ada19261444820G GDDR6GNl-48-20
RTX4500 Ada24076806024G GDDR6GNl-60-24
RTX5000 Ada4001280010032G GDDR6GNl-100-32
RTX5880 Ada4401408011048G GDDR6GNl-110-48
RTX6000 Ada5681817614248G GDDR6GNl-142-48
Grace Hopper (g)

These have MIG support and 128 Cuda Cores and 4 Tensor Cores per SM.

Nvidia GPUFractionTensor CCuda CoresSMsVRAMSCS GPU name
H1001/15281689613280G HBM3GNg-132-80h
H1001/226484486640G HBM3GNg-66-40h
H1001/413242243320G HBM3GNg-33-20h
H1001/772+2304+18+10G HBM3GNg-18-10h+
H2001/152816896132141G HBM3eGNg-132-141h
H2001/2264168966670G HBM3eGNg-66-70h
...

[+] The precise numbers for the 1/7 MIG configurations are not known by the author of this document and need validation.

Blackwell (b) and Blackwell Ultra (u)

These have MIG support and 128 Cuda Cores and 4 Tensor Cores per SM.

Nvidia GPUFractionTensor CCuda CoresSMsVRAMSCS GPU name
GB2001/164020480160192G HBM3eGNb-160-192h
GB2001/2320102408096G HBM3eGNb-80-96h
GB2002/788+5632+44+45G HBM3e+GNb-44-45h+
GB2001/744+2816+22+23G HBM3e+GNb-22-23h+
GB3001/164020480160288G HBM3eGNu-160-288h
GB3001/23201024080144G HBM3eGNu-80-144h
...

[+] The precise numbers for the 1/7 MIG configurations are not known by the author of this document and need validation.

Note that Blackwell Ultra tensor cores have significant enough changes vs. Blackwell that we gave the BW Ultra GPUs a new letter u. In particular, FP4 tensor performance is over 150% of std. Blackwell and has more Special Function Units (which helps attention) but has regressed INT8 performance.

Nvidia GPUFractionTensor CCuda CoresSMsVRAMSCS GPU name
RTX Pro2000 Blackwell1/113643523416G GDDR7GNb-34-16
RTX Pro4000 Blackwell1/128089607024G GDDR7GNb-70-24
RTX Pro4500 Blackwell1/1328104968232G GDDR7GNb-82-32
RTX Pro5000 Blackwell1/14401408011072G GDDR7GNb-110-72
RTX Pro5000 Blackwell1/222070405536G GDDR7GNb-55-36
RTX Pro6000 Blackwell1/17522606418896G GDDR7GNb-188-96
RTX Pro6000 Blackwell1/2376130329448G GDDR7GNb-94-48
RTX Pro6000 Blackwell1/418865164724G GDDR7GNb-47-24

AMD Radeon (A)

CDNA 2 (2)

One CU contains 64 Stream Processors.

AMD InstinctStream ProcCUsVRAMSCS name piece
Inst MI210665610464G HBM2eGA2-104-64h
Inst MI25013312208128G HBM2eGA2-208-128h
Inst MI250X14080229128G HBM2eGA2-220-128h
CDNA 3 (3)

SRIOV partitioning is possible, resulting in pass-through for up to 8 partitions, somewhat similar to Nvidia MIG. 4 Tensor Cores and 64 Stream Processors per CU.

AMD GPUTensor CStream ProcCUsVRAMSCS name piece
Inst MI300X121619456304192G HBM3GA3-304-192h
Inst MI325X121619456304288G HBM3GA3-304-288h
CDNA 4 (4)

SRIOV partitioning is possible, resulting in pass-through for up to 8 partitions, somewhat similar to Nvidia MIG. 4 Tensor Cores and 64 Stream Processors per CU.

AMD GPUTensor CStream ProcCUsVRAMSCS name piece
Inst MI350X102416384256288G HBM3eGA4-256-288h
Inst MI355X102416384256288G HBM3eGA4-256h-288h

The Instinct MI355X has a higher watttage and thus slightly higher clocks than the MI350X but is otherwise identical - we can thus use the h modifier to identify the higher performance version.

Workstation RDNA 3 (3.1) and 4 (4.1)

2 Tensor Cores and 64 Stream Processors per CU.

AMD RadeonTensor CStream ProcCUsVRAMSCS name piece
Pro W790019661449648G GDDR6GA3.1-96-48
AI Pro R970012840966432G GDDR6GA4.1-64-32

Note that we previously assumed more similarity of consumer RDNA-x with server CDNA-x than 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 rare cases of old installations calling RDNA-x as generation x for the time being. If AMD executes on the merging with UDNA-5, we will avoid this split in the future.

intel Xe (I)

Xe-HPC (Ponte Vecchio) (3)

One EU corresponds to one Tensor Core and contains 128 Shading Units.

intel DC GPUTensor CShading UEUsVRAMSCS name part
Max 11005671685648G HBM2eGI3-56-48h
Max 155012816384128128G HBM2eGI3-128-128h
Workstation cards Arc B (4)

One EU has one tensor core and 16 shading units.

intel GPUTensor CShading UEUsVRAMSCS name part
Arc Pro B50128204812816G GDDR6GI4-128-16
Arc Pro B60160256016024G GDDR6GI4-160-24
Arc Pro B65160256016032G GDDR6GI4-160-32
Arc Pro B70256409625632G GDDR6GI4-256-32

Consumer cards

Note that we don't recommend using consumer cards. That said, the schema allows to specify them and for example do PCI pass-through of Nvidia RTX4080S (GNl-80-16), RTX4090 (GNl-128-24), RTX5080S (GNb-84-24), RTX5090 (GNb-170-32), or AMD Radeon RX7900XTX (GA3.1-96-24).

Automated tests

The following testcases are implemented:

  • scs-0100-syntax-check ensures that any name starting with SCS- adheres to the standard;
  • scs-0100-semantics-check ensures that any such name is telling the truth as specified in the standard; specifically: any immediately discoverable property of a flavor (currently, CPU, RAM and disk size) matches the meaning of its name (which is usually a lower bound), such as the CPU generation or hypervisor.

Manual tests

To be determined.