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"):