Skip to content

GPU data sources

Reference material for populating and verifying boaviztapi/data/crowdsourcing/gpu_specs.csv. See Add a new GPU for the column definitions themselves.

Every row should carry at least one URL in the source column. Prefer primary sources (vendor datasheets, architecture whitepapers, OEM option guides) over tech press articles, which are harder to audit and more likely to disappear.

Die size → die_surface

die_surface is not the raw die area. It is the effective wafer area per die, including kerf, circular-wafer edge losses and yield, as computed by _calculate_effective_area_on_circular_wafer() in boaviztapi/models/component/gpu.py. For a multi-die package it is effective_area(per_die_area) * unit.

So what you need to source is the raw die area in mm² for a single compute die.

Source Use for
TechPowerUp GPU Database Best per-SKU source: die size, transistor count, process node, memory config, board form factor. One page per SKU
NVIDIA resources portal Architecture whitepapers, e.g. Hopper. Authoritative on die size and transistor count
List of Nvidia GPUs Comprehensive die-size tables with references
List of AMD GPUs Same, for AMD
Chips and Cheese Die-level analysis, essential for chiplet parts such as MI300X
Locuza Annotated die-shot measurements
SemiAnalysis Reticle limits, multi-die packaging

Wikipedia architecture pages, useful when a SKU is not listed individually: Pascal · Volta · Turing · Ampere · Ada Lovelace · Hopper · Blackwell · CDNA · RDNA 2

Consistency check

Two SKUs built on the same die must have identical die_surface. For example every GA100 part (A100 PCIe/SXM4, 40 GB and 80 GB) is 826 mm² of raw die and therefore 2876.29, regardless of memory capacity or board type.

VRAM capacity and die count → vram, number

vram is the capacity of one card in GB, never an instance or node total. For a card that carries two GPUs, such as the Tesla K80, it is the card's total (24 GB), not the 12 GB each GPU sees. number is the count of VRAM dies (HBM stacks, or GDDR packages) on the card.

Source Use for
NVIDIA product pages: A100, H100, H200, L4, P100, DGX B200 Capacity, bandwidth and memory type per SKU
AMD Instinct · MI300X · Radeon PRO Official AMD specifications
TechPowerUp GPU Database Memory bus width and chip count, from which number can be derived

Board power → tdp

tdp is the maximum board power of one card in W, as given by the vendor (often "max power consumption", "max TDP power" or "total board power"). The use phase models the power of one GPU from it (see GPU usage impacts).

Source Use for
Vendor product pages and datasheets, e.g. L4, RTX PRO 4500 Server Edition, A10G, Tesla K80 Primary source for the board power
TechPowerUp GPU Database TDP per SKU, when the vendor page gives none
flopper.io Cross-check of TDPs across many datacentre GPUs
mirrorfrog Accelerators for which the vendor publishes no TDP, such as AWS Inferentia and Trainium

Use the variant the provider runs

Server, workstation and cloud-specific variants of a GPU can have very different TDPs: the RTX PRO 4500 Server Edition is 165 W but the workstation card is 200 W, and the A10G of AWS g5 instances is 300 W where the A10 is 150 W. Check which variant the instance uses before picking a TDP.

Note

A row without tdp falls back to the 700 W (range 70-1100 W) of the DEFAULT row of boaviztapi/data/archetypes/components/gpu.csv, a large datacentre GPU.

GPUs per card → gpus_per_card

Most cards carry one GPU, and gpus_per_card is 1. Some older cards carry two GPUs on one board, which the operating system and the cloud providers see as two GPUs: the Tesla M60, the Tesla K80 and the GRID K520. Set gpus_per_card to 2 for them, and describe the whole card in the other columns (its tdp, vram, masses, and die_surface as effective_area(per_die_area) * unit). The API then divides the card's power and embodied impacts by gpus_per_card for each GPU.

A multi-die package that the providers count as one GPU, such as the B200 or the MI300X, has gpus_per_card = 1 and unit greater than 1.

Mass → mass, mass_heatsink, mass_casing

The hardest fields to source. Vendor briefs often omit weight, so OEM option catalogues are usually the practical answer.

Source Use for
Lenovo Press GPU options Best single source. Per-GPU product guides listing net weight and dimensions, e.g. A100 PCIe, RTX PRO 6000
NVIDIA product briefs Some state weight directly (T4, A10, L40S, V100 PCIe, M60, P4 are sourced this way today)
HPE QuickSpecs, Dell PowerEdge manuals Equivalent OEM data for cards Lenovo does not carry

Empty mass fields are not neutral

A blank mass, mass_heatsink or mass_casing silently falls back to the DEFAULT row of boaviztapi/data/archetypes/components/gpu.csv — currently 1.69 kg / 0.90 kg / 0.79 kg, i.e. a large datacentre card. That is a significant overestimate for single-slot or low-profile boards.

PCB area → pwb_surface

In practice this is derived from the card outline dimensions, not a measured PCB area, so the reference is the mechanical-dimensions section of a product brief. Common form factors:

Form factor Dimensions Area
Full-height, full-length (FHFL) 111.15 × 266.7 mm 296.4 cm²
Three-quarter length 111.15 × 210.9 mm 234.4 cm²
Half-height, half-length (short) 68.9 × 135.2 mm 93.1 cm²
SXM2 / SXM4 module — 109.2 / 105.0 cm²

For SXM and OAM module footprints: SXM socket · OCP Accelerator Module (OAM)

Note

234.36 currently appears on 18 of 40 rows. It functions as a default for generic full-size PCIe cards rather than a per-card measurement. Treat it as a modelling assumption, not sourced data.

Cloud instance ↔ GPU mapping

Not part of gpu_specs.csv, but these are the authority for which GPU SKU an archetype in boaviztapi/data/archetypes/server.csv should name, and for how many GPUs each instance has (gpu_units, counted the way the provider counts them).

Provider Reference
AWS Accelerated computing instance types
GCP GPU machine types
Azure GPU-accelerated VM sizes

Citing sources in the CSV

Put one or more URLs in the source column, separated by ;:

NVIDIA A100 PCIe 80GB,NVIDIA,1,6,80,2876.29,234.36,19000,1000,0,0.3,0.643,1.17,300,1,https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/a100/pdf/PB-10577-001_v02.pdf;https://en.wikipedia.org/wiki/Ampere_(microarchitecture)

The value is surfaced through the API in the completion message for each attribute, for example "Completed from name based on <source>.", so a row left without a source produces a message with no usable provenance.