From 5cb4ea1d4df55e06c0b033044367a203fca473a6 Mon Sep 17 00:00:00 2001 From: Jia Guo Date: Fri, 10 Apr 2026 10:01:14 -0700 Subject: [PATCH] perf: enable inductor combo_kernels for horizontal fusion (#21977) Co-authored-by: Claude Opus 4.6 --- .../sglang/srt/compilation/compilation_config.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/python/sglang/srt/compilation/compilation_config.py b/python/sglang/srt/compilation/compilation_config.py index 0388bbeda..2de6ad8d5 100644 --- a/python/sglang/srt/compilation/compilation_config.py +++ b/python/sglang/srt/compilation/compilation_config.py @@ -28,6 +28,7 @@ class CompilationConfig: self.enable_debug_mode = enable_debug_mode self.split_ops = [] self.split_ops.extend(SPLIT_OPS) + self.configure_inductor() def add_split_op(self, op: str): self.split_ops.append(op) @@ -43,3 +44,16 @@ class CompilationConfig: def get_enable_debug_mode(self): return self.enable_debug_mode + + def configure_inductor(self): + """Apply inductor-specific optimizations when using inductor compiler.""" + if self.compiler != "inductor": + return + + import torch._inductor.config as inductor_config + + # Horizontal fusion for sibling ops with different shapes, + # e.g. fusing q_norm + k_norm into a single triton kernel. + if hasattr(inductor_config, "combo_kernels"): + inductor_config.combo_kernels = True + inductor_config.benchmark_combo_kernel = True