vllm.models.minimax_m3.amd.mono.dispatch
¶
Which MiniMax-M3 forwards take the mono path (VLLM_ROCM_MINIMAX_M3_MONO=1).
The deployment is checked once (_config_refusal); a step is routed to the
kernels only when it is a pure decode of 1..MAX_TOKENS tokens whose tables the
kernels can read (_step_refusal). Every per-step condition is decided from
TP-replicated state: the kernels all-reduce in-kernel, so ranks that disagreed
would wait on each other forever.
The runner is built on the first eligible step, which under cudagraphs is the warmup run before the first capture (its allocations and IPC handshake cannot be captured), and rebuilt when vLLM re-binds the KV cache after its memory-profiling capture round.
Classes:
-
MonoDecode–Routes supported decode steps of one
MiniMaxM3Modelto the kernels.
MonoDecode
¶
Routes supported decode steps of one MiniMaxM3Model to the kernels.
Source code in vllm/models/minimax_m3/amd/mono/dispatch.py
122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | |
_ensure_runner()
¶
Build (or rebuild after a KV cache re-bind) the runner outside capture.
Source code in vllm/models/minimax_m3/amd/mono/dispatch.py
_slots_shared(fwd, n)
¶
The kernels insert K/V and the index key through one page-128 slot mapping, so the index cache must share the main cache's block ids. Checked once (a device sync).
Source code in vllm/models/minimax_m3/amd/mono/dispatch.py
_config_refusal(vllm_config, model)
¶
Why this deployment cannot use the kernels at all, or None.
Source code in vllm/models/minimax_m3/amd/mono/dispatch.py
_separate_shared_ok(layers)
¶
Every MoE layer keeps its shared expert as a separate MLP (the kernels then
run it from that MLP's MXFP8 weights, weights.mxfp8_a_tiles).
Source code in vllm/models/minimax_m3/amd/mono/dispatch.py
_step_refusal(fwd, layer_name, n, positions)
¶
Why this step cannot run on the kernels, or None when it can.