Revert "Enable Nemotron-H FP8 on HPU: quant-aware Mamba in_proj + non-gated FP8 MoE (#1666)" - #1785
Conversation
…-gated FP8 MoE (vllm-project#1666)" This reverts commit 058e248. Signed-off-by: Radoslaw Smyrek <radoslawx.smyrek@intel.com>
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Pull request overview
Reverts the prior Nemotron-H FP8 enablement on HPU by removing Nemotron-H-specific logic across Mamba KV cache grouping, Mamba mixer behavior, and MoE activation/platform patches.
Changes:
- Removes Nemotron-H from model feature flags and Mamba-like architecture handling.
- Drops Nemotron-H / FP8-quant-aware paths in Mamba mixer and mixed-dtype Mamba KV-cache allocation logic.
- Removes non-gated MoE activation aliasing and the HPU-side workaround patch for vLLM core’s non-gated MoE guard.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| vllm_gaudi/v1/worker/hpu_model_runner.py | Reverts Nemotron-H handling in Mamba-related KV cache group assignment and mixed-dtype KV-cache allocation. |
| vllm_gaudi/ops/hpu_mamba_mixer2.py | Removes quant-aware in_proj path and flatten_input early-return behavior. |
| vllm_gaudi/ops/hpu_fused_moe.py | Removes activation aliasing for Nemotron-H and deletes the patched non-gated MoE config workaround. |
| vllm_gaudi/ops/hpu_compressed_tensors.py | Removes non-gated MoE plumbing and simplifies activation normalization usage. |
| vllm_gaudi/extension/ops.py | Removes is_gated state and the conditional is_gated kwarg forwarding to the HPU MoE op. |
| vllm_gaudi/extension/features.py | Removes nemotron_h from flatten_input feature enablement. |
Suppressed comments (1)
vllm_gaudi/ops/hpu_fused_moe.py:1
- Removing the
"relu2_no_mul" -> "relu2"alias can turn a previously accepted activation name into an unknown string passed to the HPU custom op. Even if Nemotron-H is being reverted, keeping this alias is low-risk and improves robustness/backward-compatibility for configs that might still surface"relu2_no_mul"(e.g., cached configs, external integrations). Consider restoring the alias mapping unless you can guarantee it will never be used."
from collections.abc import Callable
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| states_proj = F.linear(hidden_states, self._states_weight, self._states_bias) | ||
|
|
||
| gate = F.linear(hidden_states, self._gate_weight, self._gate_bias) |
| parts = layer_name.split('.') | ||
| layer_idx = int(parts[-2]) # "model.layers.5.mixer" -> 5 |
| layer = model.model.layers[layer_idx] | ||
| layer.mamba.cache_group_idx = group_idx |
| @@ -343,14 +330,6 @@ def forward( | |||
| # 5. Final linear projection | |||
| output, _ = self.out_proj(hidden_states_varlen) | |||
|
|
|||
| @@ -6667,15 +6656,7 @@ def _needs_raw_buffer(kv_cache_tensor) -> bool: | |||
| if isinstance(spec, MambaSpec) and \ | |||
| spec.mamba_type in _GDN_MAMBA_TYPES: | |||
| continue | |||
✅ CI PassedAll checks passed successfully against the following vllm commit: |
Enablement moved to next release.
This reverts commit 058e248.