fix: resolve bandwidth for RTX Ada Generation laptop workstation GPUs#144
Open
devangpratap wants to merge 1 commit into
Open
fix: resolve bandwidth for RTX Ada Generation laptop workstation GPUs#144devangpratap wants to merge 1 commit into
devangpratap wants to merge 1 commit into
Conversation
The RTX 500/1000/2000/3000/3500/4000/5000 Ada Generation Laptop GPUs all
resolved memory bandwidth to None ("BW: N/A"), even though dbgpu already
ships their specs. _normalize_detected_name turned the driver name
"RTX 2000 Ada Generation Laptop GPU" into "RTX 2000 Ada Generation Mobile"
(marker last), while dbgpu names the card "RTX 2000 Mobile Ada Generation"
(marker mid-string), so the two never matched.
Relocate the Mobile marker to a trailing position in the normalizer. The
dbgpu index uses the same normalizer, so both orderings now converge and the
cards resolve from dbgpu's own data. The relocation is idempotent for cards
that already carry a trailing marker, so consumer laptops, the curated
RTX A3000 Laptop entry, and all desktop cards are unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Fix memory-bandwidth resolution for the RTX Ada Generation workstation laptop GPUs (RTX 500 / 1000 / 2000 / 3000 / 3500 / 4000 / 5000 Ada Laptop). They all resolved to "BW: N/A" even though dbgpu already ships their bandwidth.
The cause is a word-order mismatch in
_normalize_detected_name. The driver reportsNVIDIA RTX 2000 Ada Generation Laptop GPU, which the normalizer turned intoRTX 2000 Ada Generation Mobile(marker at the end). dbgpu names the same cardRTX 2000 Mobile Ada Generation(marker in the middle). The two normalized strings never matched, so the dbgpu lookup fell through toNone.The fix relocates the
Mobilemarker to a trailing position inside_normalize_detected_name. Because the dbgpu index is built with the same normalizer, both the driver name and the dbgpu name now canonicalize toRTX 2000 Ada Generation Mobileand match. No bandwidth values are hardcoded; every card resolves from dbgpu's own data.Why
These are common professional/mobile workstation cards. Without a bandwidth value the speed estimates fall back to a default, which produces worse recommendations for anyone on an Ada laptop. This is the same class of laptop-card bandwidth gap the resolver already guards against for consumer cards (issues #74, #61, #93).
Before:
After:
The marker relocation is idempotent for cards that already carry a trailing marker, so consumer laptops (e.g.
GeForce RTX 4060 Laptop GPU), the curatedRTX A3000 Laptopentry, and all desktop cards are unchanged.Testing
uv run pytest, 468 passing)resolve_detected_bandwidth(the same functionhardware/nvidia.pyuses for detected cards) against dbgpu's shipped specs; I do not have a physical Ada workstation laptop to confirm the end-to-end driver-name stringNotes
The change is a normalizer fix in
hardware/gpu_db.py, not a new entry in the curated bandwidth table, since dbgpu already had the data and it was only unreachable due to naming.