Skip to content

[Tasks] Add computeCapability to NVIDIA GPUs in hardware.ts#2010

Open
julien-c wants to merge 1 commit intomainfrom
add-compute-capability-nvidia-gpus
Open

[Tasks] Add computeCapability to NVIDIA GPUs in hardware.ts#2010
julien-c wants to merge 1 commit intomainfrom
add-compute-capability-nvidia-gpus

Conversation

@julien-c
Copy link
Member

@julien-c julien-c commented Feb 27, 2026

Summary

  • Adds an optional computeCapability field to the HardwareSpec interface representing the CUDA Compute Capability version number
  • Populates computeCapability for all 105 NVIDIA GPU entries, covering architectures from Maxwell (5.3) through Blackwell (12.0/12.1)
  • Enables downstream consumers to filter/group GPUs by CUDA compatibility level

Compute Capability Mappings

CC Architecture Example GPUs
12.0 Blackwell (consumer) RTX 5090, 5080, 5070, RTX PRO 6000
12.1 Blackwell (edge) GB10
10.0 Blackwell (DC) B200
9.0 Hopper H200, H100
8.9 Ada Lovelace L40s, L4, RTX 40-series
8.7 Orin Jetson Orin variants
8.6 Ampere (consumer) RTX A-series, RTX 30-series
8.0 Ampere (DC) A100, A30
7.5 Turing RTX 20-series, T4
7.2 Xavier Jetson Xavier variants
7.0 Volta V100
6.2 Parker Jetson TX2
6.1 Pascal (consumer) GTX 10-series, P40
6.0 Pascal (DC) P100
5.3 Maxwell (Tegra) Jetson Nano

Test plan

  • npx tsc --noEmit passes with no errors
  • Verified all 105 NVIDIA GPU entries have a computeCapability value

Note

Low Risk
Low risk, additive change: extends HardwareSpec with an optional field and populates static NVIDIA SKU data; main risk is minor downstream assumptions about SKU shape or increased bundle size.

Overview
Adds an optional computeCapability field to HardwareSpec in hardware.ts to capture NVIDIA CUDA compute capability.

Populates computeCapability across the NVIDIA GPU entries in SKUS, enabling consumers to filter/group hardware by CUDA compatibility without changing existing required fields.

Written by Cursor Bugbot for commit 4e1c621. This will update automatically on new commits. Configure here.

Add CUDA Compute Capability version numbers to all 105 NVIDIA GPU entries
in the hardware specs database. This enables downstream consumers to filter
or group GPUs by architecture/capability level (e.g. for CUDA compatibility).

Co-Authored-By: Claude <Agents+claude@huggingface.co>
@julien-c
Copy link
Member Author

Stacked PR: #2011 adds gfxVersion (the AMD equivalent) to all AMD GPU entries.

/**
* CUDA Compute Capability (NVIDIA GPUs only)
*/
computeCapability?: number;
Copy link
Contributor

Choose a reason for hiding this comment

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

Why not a string btw?

Copy link
Member Author

Choose a reason for hiding this comment

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

i would say simpler to do version comparisons that way (also it's used as an integer in the kernels package)

Copy link
Member Author

Choose a reason for hiding this comment

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

but why: do you have a preference for strings?

Copy link
Member

Choose a reason for hiding this comment

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

It's quite usual to store the nvidia compute capabilities as major * 10 + minor so it becomes easy to do comparison. It also works seemlessly for AMDGPU gfx<compute_capability:integer> (ex: gfx1150).

@julien-c julien-c requested a review from mfuntowicz February 27, 2026 18:02
@mfuntowicz
Copy link
Member

mfuntowicz commented Mar 2, 2026

LGTM - If there is a path where you'd like to display some more "informative" info on the Hub UI, maybe an enum for each provider would fit best:

enum NvidiaComputeCapabilities {
    BLACKWELL_RTX = 12.0,
    BLACKWELL = 10.0,
    HOPPER = 9.0,
    AMPERE_RTX = 8.6,
    AMPERE = 8.0
    ... 
}

Can make it easier for a reader to map these numbers to actual literals used by NVIDIA on their comm

@pcuenca
Copy link
Member

pcuenca commented Mar 3, 2026

LGTM - If there is a path where you'd like to display some more "informative" info on the Hub UI, maybe an enum for each provider would fit best:

enum NvidiaComputeCapabilities {
    BLACKWELL_RTX = 12.0,
    BLACKWELL = 10.0,
    HOPPER = 9.0,
    AMPERE_RTX = 8.6,
    AMPERE = 8.0
    ... 
}

Can make it easier for a reader to map these numbers to actual literals used by NVIDIA on their comm

Or even a comment could suffice for now, as a reference for contributors.

Copy link
Member

@pcuenca pcuenca left a comment

Choose a reason for hiding this comment

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

Amazing, thanks for taking the time to dive into this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants