Commit e57c7a8
committed
[Quantization] Tighten FP8 sweep input contracts and add dispatch test
Address realAsma's review feedback on the NVFP4 FP8 sweep kernel:
- TritonNVFP4MSECalibrator.collect: replace `assert x.ndim == 2` with
ValueError so the contract still holds under `python -O`, validate
block_size > 0 before use, and derive n_blocks from x.shape[0] so a
zero last-dim cannot trigger division before the shape check.
- nvfp4_fp8_scale_sweep: drop the public `candidates` parameter. The
candidate set is fixed (FP8 E4M3 valid values / 448) and a wrong
length would silently inflate `tl.static_range` codegen, while
nonpositive/nonfinite entries violate the kernel's scale assumptions.
No internal caller used the override.
- Add test_mse_calibrate_dispatch covering the public default + opt-out
wiring: confirms `mse_calibrate(fp8_scale_sweep=True)` installs
TritonNVFP4MSECalibrator by default and falls back to NVFP4MSECalibrator
when MODELOPT_NVFP4_TRITON_SWEEP=0.
Signed-off-by: Chenjie Luo <chenjiel@nvidia.com>1 parent bd4fc3a commit e57c7a8
3 files changed
Lines changed: 71 additions & 19 deletions
File tree
- modelopt/torch
- kernels/quantization/gemm
- quantization/calib
- tests/gpu/torch/quantization
Lines changed: 1 addition & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
116 | | - | |
117 | 116 | | |
118 | 117 | | |
119 | 118 | | |
| |||
126 | 125 | | |
127 | 126 | | |
128 | 127 | | |
129 | | - | |
130 | | - | |
131 | 128 | | |
132 | 129 | | |
133 | 130 | | |
| |||
139 | 136 | | |
140 | 137 | | |
141 | 138 | | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
| 139 | + | |
149 | 140 | | |
150 | 141 | | |
151 | 142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
262 | | - | |
263 | | - | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
264 | 268 | | |
265 | | - | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
266 | 272 | | |
267 | 273 | | |
268 | 274 | | |
| |||
Lines changed: 61 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
153 | 153 | | |
154 | 154 | | |
155 | 155 | | |
156 | | - | |
| 156 | + | |
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
| |||
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
181 | 236 | | |
182 | 237 | | |
183 | 238 | | |
| |||
0 commit comments