fix(ingest): guard topcpu DX12 scores by GPU architecture - #110
Merged
Merged
Conversation
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.
The topcpu GPU resolver previously only documented a
release year >= 2011guard, leaving enrichment dependent on a fragile year filter. TeraScale and DX12-capable GCN cards shipped in overlapping years, so recent dates could admit extrapolated Time Spy results for unsupported hardware.Pass each TechAPI record's
architectureinto the Time Spy and GPU breadth resolvers, and suppress Time Spy, Time Spy Extreme, and Speed Way scores for known pre-DX12 architecture families, including versioned TeraScale/Tesla labels and older ATI/NVIDIA families. Preserve non-DX12 fields, unknown-architecture behavior, exact model matching, and fill-only-nulls; no TechAPI records are modified or backfilled. This guard excludes pre-DX12 hardware and does not implement the stricter, separate Speed Way/Ultimate eligibility rules.Architecture boundaries were checked against AMD's Windows driver support matrix, NVIDIA's DirectX support documentation, and UL's Time Spy requirements. Fermi (including 2.0) and early Kepler remain eligible for Time Spy: they support the DX12 API, and Time Spy requires feature level 11_0 rather than 12_0.
Validation: full pytest suite passed (578 tests; 77.69% coverage, above the 60% CI threshold),
mypy apppassed, andruff check app testspassed. Pytest used a fresh--basetempdirectory to avoid an existing Windows temp-directory permission issue. Regression coverage includes unsupported TeraScale/Tesla, capable GCN/Fermi/Kepler, overlapping release years, misleading dates, Tesla-branded Kepler hardware, both enrichment entry points, and preservation of non-DX12 dimensions.Refs #99