@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 006af4b956
Fork 0

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, 00:00 UTC

[Bugfix] Skip routed-experts hot path when disabled (#42148)

aoshen02 committed May 10, 2026 at 09:01 UTC 006af4b9562d0b60de0f1b11ab2fb33dea646cde
1 file changed +8 -2
vllm/v1/worker/gpu_model_runner.py
+8 -2
@@ -6154,7 +6154,8 @@ class GPUModelRunner(
6154 "Skipping CUDA graph capture. To turn on CUDA graph capture, "
6155 "ensure `cudagraph_mode` was not manually set to `NONE`"
6156 )
6157 - self.init_routed_experts_capturer()
6157 + if self.model_config.enable_return_routed_experts:
6158 + self.init_routed_experts_capturer()
6159 return 0
6160
6161 # Initialize encoder CUDA graph manager if enabled.
@@ -6193,7 +6194,8 @@ class GPUModelRunner(
6194 # address is baked into the graph. Do NOT call this inside
6195 # _capture_cudagraphs() -- creating the capturer twice replaces
6196 # the device buffer, causing graphs to write to a dead buffer.
6196 - self.init_routed_experts_capturer()
6197 + if self.model_config.enable_return_routed_experts:
6198 + self.init_routed_experts_capturer()
6199
6200 # Trigger CUDA graph capture for specific shapes.
6201 # Capture the large shapes first so that the smaller shapes
@@ -6989,6 +6991,10 @@ class GPUModelRunner(
6991 "Initializing routed experts capturer, enable_return_routed_experts: %s",
6992 self.model_config.enable_return_routed_experts,
6993 )
6994 + if not self.model_config.enable_return_routed_experts:
6995 + self.routed_experts_initialized = False
6996 + return
6997 +
6998 from vllm.distributed import get_tp_group
6999
7000 if hasattr(self.model_config.hf_text_config, "n_shared_experts"):