[Model] Remove unused DeepseekV32Indexer forward (#53021)

Signed-off-by: Woosuk Kwon <woosuk@inferact.ai> Co-authored-by: OpenAI Codex <codex@openai.com>

Woosuk Kwon committed Aug 19, 2026 at 19:39 UTC c0233fcf0100c07820d7f7a725de458a0e14df64
1 file changed -51
vllm/models/deepseek_v32/attention.py
-51
@@ -21,9 +21,6 @@ from vllm.model_executor.layers.linear import (
21 RowParallelLinear,
22 )
23 from vllm.model_executor.layers.quantization import QuantizationConfig
24 -from vllm.model_executor.layers.quantization.utils.fp8_utils import (
25 - per_token_group_quant_fp8,
26 -)
24 from vllm.model_executor.layers.rotary_embedding import get_rope
25 from vllm.model_executor.layers.sparse_attn_indexer import (
26 SparseAttnIndexer,
@@ -117,54 +114,6 @@ class DeepseekV32Indexer(nn.Module):
114 self.topk_indices_buffer,
115 )
116
120 - def forward(
121 - self,
122 - hidden_states: torch.Tensor,
123 - qr: torch.Tensor,
124 - positions: torch.Tensor,
125 - rotary_emb: nn.Module,
126 - ) -> torch.Tensor:
127 - q, _ = self.wq_b(qr)
128 - q = q.view(-1, self.n_head, self.head_dim)
129 -
130 - q_pe, q_nope = torch.split(
131 - q, [self.rope_dim, self.head_dim - self.rope_dim], dim=-1
132 - )
133 -
134 - kw, _ = self.wk_weights_proj(hidden_states)
135 - k = kw[:, : self.head_dim]
136 - weights = kw[:, self.head_dim :]
137 -
138 - k = self.k_norm(k)
139 - k_pe, k_nope = torch.split(
140 - k, [self.rope_dim, self.head_dim - self.rope_dim], dim=-1
141 - )
142 -
143 - q_pe, k_pe = rotary_emb(positions, q_pe, k_pe.unsqueeze(1))
144 -
145 - q_pe = q_pe.reshape(-1, self.n_head, self.rope_dim)
146 - k_pe = k_pe.reshape(-1, 1, self.rope_dim)
147 -
148 - q = torch.cat([q_pe, q_nope], dim=-1)
149 - k = torch.cat([k_pe.squeeze(-2), k_nope], dim=-1)
150 -
151 - q = q.view(-1, self.head_dim)
152 - q_fp8, q_scale = per_token_group_quant_fp8(
153 - q,
154 - self.quant_block_size,
155 - column_major_scales=False,
156 - use_ue8m0=self.scale_fmt is not None,
157 - )
158 - q_fp8 = q_fp8.view(-1, self.n_head, self.head_dim)
159 - q_scale = q_scale.view(-1, self.n_head, 1)
160 -
161 - weights = (
162 - weights.unsqueeze(-1) * q_scale * self.softmax_scale * self.n_head**-0.5
163 - )
164 - weights = weights.squeeze(-1)
165 -
166 - return self.indexer_op(hidden_states, q_fp8, k, weights)
167 -
117
118 class DeepseekV32Attention(MLAAttention):
119 indexer: "DeepseekV32Indexer | None"