@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / f72061a19a
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 8, 01:15 UTC

[UX] More descriptive reasons in is_supported_config for MoE (#34908)

Signed-off-by: mgoin <mgoin64@gmail.com>

Michael Goin committed Feb 19, 2026 at 18:20 UTC f72061a19ae7fbb7f193c31f0abea355fab41892
3 files changed +29 -19
vllm/model_executor/layers/fused_moe/flashinfer_trtllm_moe.py
+13 -10
@@ -129,25 +129,28 @@ def is_supported_config_trtllm_fp8(
129 return f"kernel does not support {reason}"
130
131 if not _supports_current_device():
132 - return False, _make_reason("current device")
132 + return False, _make_reason(f"current device {current_platform.device_name}")
133 elif not (moe_config.is_act_and_mul or _supports_no_act_and_mul()):
134 return False, _make_reason("no act_and_mul MLP layer")
135 elif not _supports_activation(moe_config.activation):
136 return False, _make_reason(f"{moe_config.activation} activation")
137 elif not _supports_quant_scheme(weight_key, activation_key):
138 - return False, _make_reason("quantization scheme")
138 + return False, _make_reason(f"quantization scheme {weight_key}x{activation_key}")
139 elif not _supports_parallel_config(moe_config.moe_parallel_config):
140 - return False, _make_reason("parallel config")
140 + return False, _make_reason(f"parallel config {moe_config.moe_parallel_config}")
141 elif not _supports_routing_method(
142 weight_key, activation_key, moe_config.routing_method
143 ):
144 - return False, _make_reason("routing method")
144 + return False, _make_reason(f"routing method {moe_config.routing_method}")
145 elif activation_format != mk.FusedMoEActivationFormat.Standard:
146 - return False, _make_reason("activation format")
146 + return False, _make_reason(f"activation format {activation_format}")
147 elif not _supports_router_logits_dtype(
148 moe_config.router_logits_dtype, moe_config.routing_method
149 ):
150 - return False, _make_reason("float32 router_logits with non-DeepSeekV3 routing")
150 + return False, _make_reason(
151 + "float32 router_logits with non-DeepSeekV3 routing "
152 + f"{moe_config.router_logits_dtype}x{moe_config.routing_method}"
153 + )
154
155 return True, None
156
@@ -165,17 +168,17 @@ def is_supported_config_trtllm_bf16(
168 return f"kernel does not support {reason}"
169
170 if not _supports_current_device():
168 - return False, _make_reason("current device")
171 + return False, _make_reason(f"current device {current_platform.device_name}")
172 elif not (moe_config.is_act_and_mul or _supports_no_act_and_mul()):
173 return False, _make_reason("no act_and_mul MLP layer")
174 elif not _supports_activation(moe_config.activation):
175 return False, _make_reason(f"{moe_config.activation} activation")
176 elif not _supports_parallel_config(moe_config.moe_parallel_config):
174 - return False, _make_reason("parallel config")
177 + return False, _make_reason(f"parallel config {moe_config.moe_parallel_config}")
178 elif not _supports_routing_method_bf16(moe_config.routing_method):
176 - return False, _make_reason("routing method")
179 + return False, _make_reason(f"routing method {moe_config.routing_method}")
180 elif activation_format != mk.FusedMoEActivationFormat.Standard:
178 - return False, _make_reason("activation format")
181 + return False, _make_reason(f"activation format {activation_format}")
182
183 return True, None
184
vllm/model_executor/layers/fused_moe/modular_kernel.py
+8 -3
@@ -29,6 +29,7 @@ from vllm.model_executor.layers.fused_moe.utils import (
29 from vllm.model_executor.layers.quantization.utils.quant_utils import (
30 QuantKey,
31 )
32 +from vllm.platforms import current_platform
33 from vllm.utils.math_utils import cdiv
34 from vllm.v1.worker.ubatching import (
35 dbo_enabled,
@@ -498,15 +499,19 @@ class FusedMoEPermuteExpertsUnpermute(ABC):
499 return f"kernel does not support {reason}"
500
501 if not cls._supports_current_device():
501 - return False, _make_reason("current device")
502 + return False, _make_reason(f"current device {current_platform.device_name}")
503 elif not (moe_config.is_act_and_mul or cls._supports_no_act_and_mul()):
504 return False, _make_reason("no act_and_mul MLP layer")
505 elif not cls._supports_activation(moe_config.activation):
506 return False, _make_reason(f"{moe_config.activation} activation")
507 elif not cls._supports_quant_scheme(weight_key, activation_key):
507 - return False, _make_reason("quantization scheme")
508 + return False, _make_reason(
509 + f"quantization scheme {weight_key}x{activation_key}"
510 + )
511 elif not cls._supports_parallel_config(moe_config.moe_parallel_config):
509 - return False, _make_reason("parallel config")
512 + return False, _make_reason(
513 + f"parallel config {moe_config.moe_parallel_config}"
514 + )
515 elif activation_format != cls.activation_format():
516 return False, _make_reason(f"{activation_format.value} activation format")
517 return True, None
vllm/model_executor/layers/quantization/utils/flashinfer_fp4_moe.py
+8 -6
@@ -109,21 +109,23 @@ def is_supported_config_trtllm(
109 return f"kernel does not support {reason}"
110
111 if not _supports_current_device():
112 - return False, _make_reason("current device")
112 + return False, _make_reason(f"current device {current_platform.device_name}")
113 elif not (moe_config.is_act_and_mul or _supports_no_act_and_mul()):
114 return False, _make_reason("no act_and_mul MLP layer")
115 elif not _supports_activation(moe_config.activation):
116 return False, _make_reason(f"{moe_config.activation} activation")
117 elif not _supports_quant_scheme(weight_key, activation_key):
118 - return False, _make_reason("quantization scheme")
118 + return False, _make_reason(f"quantization scheme {weight_key}x{activation_key}")
119 elif not _supports_parallel_config(moe_config.moe_parallel_config):
120 - return False, _make_reason("parallel config")
120 + return False, _make_reason(f"parallel config {moe_config.moe_parallel_config}")
121 elif not _supports_routing_method(moe_config.routing_method):
122 - return False, _make_reason("routing method")
122 + return False, _make_reason(f"routing method {moe_config.routing_method}")
123 elif activation_format != mk.FusedMoEActivationFormat.Standard:
124 - return False, _make_reason("activation format")
124 + return False, _make_reason(f"activation format {activation_format}")
125 elif moe_config.hidden_dim % 512 != 0:
126 - return False, _make_reason("hidden_dim must be divisible by 512")
126 + return False, _make_reason(
127 + f"hidden_dim must be divisible by 512, found {moe_config.hidden_dim}"
128 + )
129
130 return True, None
131