Summary
While studying the SM120 heuristics, commit 1383f15
I noticed three magic constants driving the layout scoring function:
static constexpr double kCyPerTmaByte = 0.07; // ~35 GB/s per SM
static constexpr double kSyncBaseCy = 120.0; // per-kblock barrier overhead
static constexpr double kBlockOverheadCy = 2000; // epilogue + scheduling
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!
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!