mirror of
https://github.com/deepseek-ai/DeepGEMM.git
synced 2026-11-05 00:47:26 +00:00
[GH-ISSUE #385] Origin & calibration methodology of the three cost-model constants in sm120.hpp #182
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/DeepGEMM#182
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @json0701 on GitHub (Jul 17, 2026).
Original GitHub issue: https://github.com/deepseek-ai/DeepGEMM/issues/385
Summary
While studying the SM120 heuristics, commit 1383f15
I noticed three magic constants driving the layout scoring function:
I'd like to open a discussion around two questions:
How were these values originally chosen? Were they measured on a specific SKU, taken from a theoretical model, or hand-tuned against a benchmark suite?
Would the maintainers be open to a documented calibration procedure so that downstream users on different SM120 SKUs (RTX 5090 / PRO 5000 / etc.) can re-derive them for their own hardware?
Thanks!
@0z5a commented on GitHub (Aug 17, 2026):
I ran a first SM120 cost-model calibration pass on real Blackwell hardware. Summary: the current three-constant form did not yield a defensible parameter update, so I do not plan to send a constants-only PR from this result.
Test setup
Results
I fit the same feature decomposition used by the old SM120 path (TMA-byte term, sync term, and per-block-overhead term) with non-negative robust regression. The constrained fit was alpha=0.06127, beta=0, gamma=0 (baseline: 0.07, 120, 2000). The collapse of the latter two terms and the unchanged holdout metrics indicate that this dense dataset cannot independently identify the current three terms; it would be unsafe to replace the defaults based on it.
I have a reproducible collector/fitter, including feature-consistency checks against the historical SM120 formulas and CPU-only tests. For a future change, I would suggest collecting a broader matrix (especially more wave-count / pipeline-stage variation) and requiring a strictly better whole-shape holdout regret before proposing a default-constant update.
One integration note: current
mainhas removed the historical SM120 heuristic/kernels, so the collector cannot be submitted as a directly runnablemainPR today. I will keep the calibration work ready and can rebase/submit once the intended SM120 integration target is clarified.