A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 4, 03:45 UTC
[ROCm][CI] Avoid duplicate ROCm AITER norm-quant patterns (#41534)
Signed-off-by: Andreas Karatzas <akaratza@amd.com>
Andreas Karatzas committed
May 7, 2026 at 08:33 UTC
003159d98b2545872a215a2648f2ee8d1a4b498d
1 file changed
+12
-1
vllm/compilation/passes/fusion/rocm_aiter_fusion.py
+12
-1
@@ -321,7 +321,18 @@ class RocmAiterRMSNormQuantFusionPass(VllmPatternMatcherPass):
321
epsilon, FP8_DTYPE, GroupShape(1, 128)
322
).register(self.patterns)
323
324
- for match_aiter_quant in [True, False]:
324
+ # When quant_fp8 custom ops are disabled, both AITER and native
325
+ # quant matchers trace through QuantFP8's native implementation.
326
+ # Registering both variants would create duplicate Inductor
327
+ # patterns.
328
+ is_quant_fp8_enabled = config.compilation_config.is_custom_op_enabled(
329
+ "quant_fp8"
330
+ )
331
+ match_aiter_quant_options = (
332
+ [True, False] if is_quant_fp8_enabled else [False]
333
+ )
334
+
335
+ for match_aiter_quant in match_aiter_quant_options:
336
# Fuse aiter rms_norm + (aiter / vllm built-in)
337
# dynamic per-token fp8 quant
338
AiterRMSNormDynamicQuantPattern(