Skip to content

feat: refactor GpuType enum names, add B200 and RTX PRO 6000s#233

Open
KAJdev wants to merge 5 commits intomainfrom
zeke/ae-1684-add-new-gpu-types-to-flash-gpu-types
Open

feat: refactor GpuType enum names, add B200 and RTX PRO 6000s#233
KAJdev wants to merge 5 commits intomainfrom
zeke/ae-1684-add-new-gpu-types-to-flash-gpu-types

Conversation

@KAJdev
Copy link
Contributor

@KAJdev KAJdev commented Feb 27, 2026

Adds GpuType.RTX_PRO_6000_BLACKWELL_SERVER_EDITION, GpuType.RTX_PRO_6000_BLACKWELL_WORKSTATION_EDITION, GpuType.RTX_PRO_6000_BLACKWELL_MAX_Q_WORKSTATION_EDITION, and GpuType.B200.

Adds GpuGroup.BLACKWELL_180 and GpuGroup.BLACKWELL_96 enum members

Also refactors the GpuType enum to remove the NVIDIA_ prefix from all enum identifiers.

@runpod-Henrik
Copy link

QA Report

Status: MERGE WITH NOTES
PR: #233 — feat!: refactor GpuType enum names, add B200 and RTX PRO 6000s
Agent: flash-qa (PR mode)

Breaking Change Analysis

Renamed enums (NVIDIA_ prefix removed from all 16 members):

Old Name New Name
NVIDIA_GEFORCE_RTX_4090 GEFORCE_RTX_4090
NVIDIA_GEFORCE_RTX_5090 GEFORCE_RTX_5090
NVIDIA_RTX_6000_ADA_GENERATION RTX_6000_ADA_GENERATION
NVIDIA_H100_80GB_HBM3 H100_80GB_HBM3
NVIDIA_RTX_A4000 RTX_A4000
NVIDIA_RTX_A4500 RTX_A4500
NVIDIA_RTX_4000_ADA_GENERATION RTX_4000_ADA_GENERATION
NVIDIA_RTX_2000_ADA_GENERATION RTX_2000_ADA_GENERATION
NVIDIA_RTX_A5000 RTX_A5000
NVIDIA_L4 L4
NVIDIA_GEFORCE_RTX_3090 GEFORCE_RTX_3090
NVIDIA_A40 A40
NVIDIA_RTX_A6000 RTX_A6000
NVIDIA_A100_80GB_PCIe A100_80GB_PCIe
NVIDIA_A100_SXM4_80GB A100_SXM4_80GB
NVIDIA_H200 H200

Backward compatibility: No aliases or deprecation warnings provided. Old enum names will raise AttributeError immediately.

Downstream impact:

  • flash-examples: 1 file uses old names (01_getting_started/05_gpu_selection/gpu_worker.py uses GpuType.NVIDIA_GEFORCE_RTX_4090) -- will break on upgrade
  • flash-worker: Does not reference GpuType enum member names directly -- no impact
  • Any user code referencing GpuType.NVIDIA_* will break

CI Results

All checks passing:

  • Quality Gates: 3.10, 3.11, 3.12, 3.13, 3.14 -- all pass
  • Build Package -- pass

New GPU Validation

GPU Enum Name API ID (value) In POOLS_TO_TYPES?
B200 B200 NVIDIA B200 Yes (BLACKWELL_180)
RTX PRO 6000 Server RTX_PRO_6000_BLACKWELL_SERVER_EDITION NVIDIA RTX PRO 6000 Blackwell Server Edition No
RTX PRO 6000 Workstation RTX_PRO_6000_BLACKWELL_WORKSTATION_EDITION NVIDIA RTX PRO 6000 Blackwell Workstation Edition No
BLACKWELL_180 (group) N/A BLACKWELL_180 N/A (is the pool)

Issues Found

[P1] RTX PRO 6000 variants missing from POOLS_TO_TYPES
Both RTX_PRO_6000_BLACKWELL_SERVER_EDITION and RTX_PRO_6000_BLACKWELL_WORKSTATION_EDITION are not mapped to any GpuGroup in POOLS_TO_TYPES. This means _pool_from_gpu_type() returns None for them, and GpuGroup.to_gpu_ids_str() will add None to the pool_ids set, producing malformed API strings. Users who specify these GPUs directly will hit a bug at deploy time.

Suggested fix: either add them to an existing pool (e.g., ADA_48_PRO or a new Blackwell pool) or add a guard in _pool_from_gpu_type() / to_gpu_ids_str().

[P2] No backward-compatible aliases for renamed enums
Since this is published on PyPI as a public SDK, users on runpod-flash<1.4.2 who upgrade will get immediate AttributeError with no deprecation path. Consider adding aliases with DeprecationWarning in GpuType.__init_subclass__ or as class attributes:

# Backward-compatible aliases (deprecated)
NVIDIA_GEFORCE_RTX_4090 = GEFORCE_RTX_4090
NVIDIA_L4 = L4
# etc.

[P3] No test coverage for new GPU types
The test file (test_gpu_ids.py) does not test B200, RTX_PRO_6000_*, or BLACKWELL_180. No round-trip test for to_gpu_ids_str / from_gpu_ids_str with new types.

PR Diff Analysis

  • No bare exceptions
  • Existing enum values (API strings) unchanged -- only member names renamed
  • Breaking changes documented in commit message (feat!:)
  • Skeleton template README updated with new names
  • RTX PRO 6000 variants not in any pool mapping -- potential runtime bug
  • No deprecation aliases for old names
  • flash-examples repo needs coordinated update

Recommendation

MERGE WITH NOTES -- The core rename is clean and CI passes. However, before or shortly after merge:

  1. Must fix the RTX PRO 6000 pool mapping gap (P1) -- these GPUs will produce broken API calls if used
  2. Should add deprecation aliases for the old NVIDIA_* names to avoid a hard break for existing users (P2)
  3. Should add tests for new GPU types and round-trip pool serialization (P3)
  4. Must coordinate a flash-examples update for gpu_worker.py

Generated by flash-qa agent

@KAJdev KAJdev changed the title feat!: refactor GpuType enum names, add B200 and RTX PRO 6000s feat: refactor GpuType enum names, add B200 and RTX PRO 6000s Feb 27, 2026
@KAJdev KAJdev force-pushed the zeke/ae-1684-add-new-gpu-types-to-flash-gpu-types branch from 167052a to 18e88e0 Compare February 27, 2026 22:03
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.

2 participants