{
  "date": "2026-05-08",
  "model": {
    "hf_id": "Lasimeri/MiniMax-M2.7-int4-AutoRound",
    "base_hf_id": "MiniMaxAI/MiniMax-M2.7",
    "quantization": "INT4 AutoRound W4A16",
    "model_path": "/mnt/corsair-external/llm-models/minimax-m2.7-int4-autoround"
  },
  "hardware": {
    "gpu": "Intel Arc Pro B70",
    "gpu_count": 4,
    "vram_gb_per_gpu": 32,
    "cpu": "AMD EPYC 9015",
    "ram_gb": 16,
    "os": "Ubuntu 24.04.4"
  },
  "software": {
    "engine": "vllm",
    "engine_version": "0.20.1-local",
    "backend": "xpu",
    "venv": "/home/steve/.venvs/vllm-xpu",
    "source": "/home/steve/src/vllm",
    "patch": "patches/vllm-inc-xpu-autoround-fusedmoe-wna16-20260508.patch",
    "wrapper": "scripts/bench-vllm-minimax-autoround-xpu.sh"
  },
  "repairs": [
    "Routed INC AutoRound XPU FusedMoE layers through MoeWNA16Config to avoid unquantized-MoE OOM.",
    "Installed Python 3.12 headers for Triton Intel launcher compilation.",
    "Copied source-matched vLLM v1 scheduler/request files into the active venv to repair package skew."
  ],
  "results": [
    {
      "name": "proof_of_life_p64_n16",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "tok_s_total": 46.059135,
      "tok_s_output_log": 9.21,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-inc-xpu-moe-wna16-requestfix-tp4-p64n16-20260508T161843Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-inc-xpu-moe-wna16-requestfix-tp4-p64n16-20260508T161843Z.json"
    },
    {
      "name": "p512_n128_default_moe_config",
      "prompt_tokens": 512,
      "output_tokens": 128,
      "context_length": 2048,
      "tensor_parallel": 4,
      "tok_s_total": 67.259054,
      "tok_s_output": 13.45,
      "peak_model_load_gb_per_gpu": 28.11,
      "localmaxxing_id": "cmox4zohw0077ml01czu880bz",
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260508T162541Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260508T162541Z.json",
      "interpretation": "Valid but superseded by the pidfd IPC run later the same day. vLLM warns that no B70-specific int4_w4a16 MoE config exists for E=256,N=384, so it uses default MoE config."
    },
    {
      "name": "p64_n16_pidfd_ipc",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "tok_s_total": 68.171339,
      "tok_s_output": 13.63,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T171257Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T171257Z.json",
      "interpretation": "Positive short smoke. pidfd avoids the sockets override and improves p64/n16 throughput."
    },
    {
      "name": "p512_n128_pidfd_ipc",
      "prompt_tokens": 512,
      "output_tokens": 128,
      "context_length": 2048,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "tok_s_total": 99.231127,
      "tok_s_output": 19.85,
      "peak_model_load_gb_per_gpu": 28.11,
      "available_kv_cache_gb_per_gpu": 1.02,
      "localmaxxing_id": "cmox6tys30085ml0125gihg18",
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260508T171955Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260508T171955Z.json",
      "interpretation": "Current best MiniMax AutoRound vLLM/XPU result. It beats the previous AutoRound p512 run and the current GGUF p512 decode figure, but still uses default MoE config, so B70 MoE tuning remains open."
    },
    {
      "name": "p64_n16_pidfd_p2p0",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 0,
      "tok_s_total": 62.410028,
      "tok_s_output": 12.48,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T172901Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T172901Z.json",
      "interpretation": "Negative versus pidfd with CCL_TOPO_P2P_ACCESS=1. Keep P2P=1 as the wrapper default."
    },
    {
      "name": "p64_n16_pidfd_p2p1_topology_check_disabled",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "ccl_topo_fabric_vertex_connection_check": 0,
      "tok_s_total": 71.18265,
      "tok_s_output": 14.24,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T173644Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T173644Z.json",
      "interpretation": "Positive tiny smoke, but this disables topology validation and needs a longer run."
    },
    {
      "name": "p512_n128_pidfd_p2p1_topology_check_disabled",
      "prompt_tokens": 512,
      "output_tokens": 128,
      "context_length": 2048,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "ccl_topo_fabric_vertex_connection_check": 0,
      "tok_s_total": 99.459983,
      "tok_s_output": 19.89,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260508T174346Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260508T174346Z.json",
      "interpretation": "Neutral diagnostic. p512 output is only 0.04 tok/s above the accepted pidfd result, so this was not promoted or submitted."
    },
    {
      "name": "p64_n16_pidfd_p2p1_enforce_eager",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "enforce_eager": true,
      "tok_s_total": 56.113901,
      "tok_s_output": 11.22,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T175150Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T175150Z.json",
      "interpretation": "Negative. Eager mode disables torch.compile and regresses versus the compiled pidfd/P2P=1 path."
    },
    {
      "name": "p64_n16_amd_moe_seed_rejected",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "config_source": "E=384,N=256,device_name=AMD_Instinct_MI355_OAM,dtype=int4_w4a16.json renamed to the B70 E=256,N=384 filename",
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T163648Z.log",
      "interpretation": "The config loader used the external file, but Triton rejected the AMD-only matrix_instr_nonkdim meta parameter on XPU."
    },
    {
      "name": "p64_n16_amd_moe_seed_stripped",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "tok_s_total": 8.632747,
      "tok_s_output": 1.73,
      "config_source": "Same AMD-derived config with matrix_instr_nonkdim removed",
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T164639Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T164639Z.json",
      "interpretation": "Completed but regressed badly versus the default MoE config smoke, so this seed should not be promoted."
    },
    {
      "name": "p64_n16_xpu_graph_requested",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "xpu_graph_requested": true,
      "xpu_graph_effective": false,
      "tok_s_total": 18.149238,
      "tok_s_output": 3.63,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T165550Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T165550Z.json",
      "interpretation": "Not promoted. vLLM disables graph capture because XPU Graph does not support capture of communication ops on this TP4 path."
    },
    {
      "name": "p64_n16_minimax_qk_norm_fusion_blocked",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "extra_args": "--compilation-config {\"mode\":3,\"pass_config\":{\"fuse_minimax_qk_norm\":true}}",
      "fused_op_available": false,
      "patch": "patches/vllm-minimax-qknorm-passmanager-xpu-guard-20260508.patch",
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T170331Z.log",
      "interpretation": "Blocked. vLLM accepts the pass flag, but this XPU build lacks torch.ops._C.minimax_allreduce_rms_qk. The first attempt also hit a pass-manager import guard bug, now patched locally."
    },
    {
      "name": "p512_n128_pidfd_hybrid_moe_config",
      "prompt_tokens": 512,
      "output_tokens": 128,
      "context_length": 2048,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "tuned_config": "configs/vllm/minimax-m27-b70-int4-w4a16-moe-hybrid-20260508.json",
      "tok_s_total": 100.538158,
      "tok_s_output": 20.11,
      "peak_model_load_gb_per_gpu": 28.11,
      "localmaxxing_id": "cmox94fsm0095ml01tjeb20rr",
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260508T182318Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260508T182318Z.json",
      "localmaxxing_payload": "data/localmaxxing-minimax-m27-autoround-hybrid-moe-p512n128-20260508.payload.json",
      "localmaxxing_response": "data/localmaxxing-responses/minimax-m27-autoround-hybrid-moe-p512n128-20260508.response.json",
      "interpretation": "Current best MiniMax AutoRound vLLM/XPU result. A hybrid B70 MoE config uses the pruned tuned M=1 int4_w4a16 config for decode and default prompt-size entries for 64/256/512, improving p512/n128 from 19.85 to 20.11 output tok/s and 99.231127 to 100.538158 total tok/s."
    },
    {
      "name": "p512_n128_fp16_baseline_no_llm_scaler",
      "prompt_tokens": 512,
      "output_tokens": 128,
      "context_length": 2048,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "dtype": "float16",
      "llm_scaler_moe": false,
      "tok_s_total": 100.832219,
      "tok_s_output": 20.17,
      "localmaxxing_id": "cmoxnvmna00gmml01eqdyl428",
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260509T011343Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260509T011343Z.json",
      "localmaxxing_payload": "data/localmaxxing-minimax-m27-autoround-fp16-baseline-p512n128-20260509.payload.json",
      "localmaxxing_response": "data/localmaxxing-responses/minimax-m27-autoround-fp16-baseline-p512n128-20260509.response.json",
      "interpretation": "Neutral/slightly positive versus the BF16 hybrid result. vLLM casts the BF16 checkpoint to FP16 activations; this is a valid reproducibility point but not a meaningful new ceiling."
    },
    {
      "name": "llm_scaler_moe_exact_shape_microbench",
      "source": "/home/steve/src/llm-scaler/vllm/custom-esimd-kernels-vllm",
      "shape": {
        "hidden_size": 3072,
        "intermediate_size_per_tp_rank": 384,
        "num_experts": 256,
        "top_k": 8,
        "tensor_parallel": 4
      },
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/llm-scaler-minimax-routed-moe-vs-vllm-20260509T004707Z.log",
      "latency_us": {
        "bs1_vllm_fused_experts": 355.7,
        "bs1_llm_scaler_cutlass_nmajor": 91.1,
        "bs16_vllm_fused_experts": 1052.8,
        "bs16_llm_scaler_cutlass_nmajor": 509.1,
        "bs64_vllm_fused_experts": 3132.9,
        "bs64_llm_scaler_cutlass_nmajor": 1033.8
      },
      "interpretation": "Strong microbench positive. The exact routed MoE path is faster than vLLM fused_experts for the MiniMax TP4 local shape, but it must be integrated below Python routing/gather before it helps the full model."
    },
    {
      "name": "p1_n128_fp16_llm_scaler_moe_decode_isolation",
      "prompt_tokens": 1,
      "output_tokens": 128,
      "context_length": 512,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "dtype": "float16",
      "llm_scaler_moe": true,
      "tok_s_total": 34.328763,
      "tok_s_output": 34.06,
      "localmaxxing_id": "cmoxofv8h00h5ml01wu1uakhr",
      "patch": "patches/vllm-minimax-llm-scaler-moe-experimental-20260509.patch",
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p1n128-20260509T012543Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p1n128-20260509T012543Z.json",
      "localmaxxing_payload": "data/localmaxxing-minimax-m27-autoround-llm-scaler-decode-p1n128-20260509.payload.json",
      "localmaxxing_response": "data/localmaxxing-responses/minimax-m27-autoround-llm-scaler-decode-p1n128-20260509.response.json",
      "interpretation": "Positive decode-isolation result. The experimental llm-scaler MoE path improves p1/n128 output from 22.31 to 34.06 tok/s, but it should not be used for normal p512 runs until it can be applied decode-only."
    },
    {
      "name": "p1_n128_fp16_baseline_no_llm_scaler",
      "prompt_tokens": 1,
      "output_tokens": 128,
      "context_length": 512,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "dtype": "float16",
      "llm_scaler_moe": false,
      "tok_s_total": 22.486697,
      "tok_s_output": 22.31,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p1n128-20260509T013243Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p1n128-20260509T013243Z.json",
      "interpretation": "Baseline for the decode-isolation experiment."
    },
    {
      "name": "p512_n128_fp16_llm_scaler_moe_experimental",
      "prompt_tokens": 512,
      "output_tokens": 128,
      "context_length": 2048,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "dtype": "float16",
      "llm_scaler_moe": true,
      "tok_s_total": 61.374542,
      "tok_s_output": 12.27,
      "patch": "patches/vllm-minimax-llm-scaler-moe-experimental-20260509.patch",
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260509T010605Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260509T010605Z.json",
      "interpretation": "Negative full-model result. The current opt-in Python-level integration regresses badly despite the positive microbench, likely due to prefill route/gather overhead and the inability to use it only for decode while preserving vLLM's unsigned weight format."
    },
    {
      "name": "p64_n16_enable_expert_parallel_default",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "expert_parallel": true,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "tok_s_total": 18.74407,
      "tok_s_output": 3.75,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T183643Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T183643Z.json",
      "interpretation": "Negative. Expert parallelism was functional and sharded experts to 64 local / 256 global, but p64/n16 fell to 3.75 output tok/s, indicating all2all/expert-parallel overhead dominates this TP4 B70 single-request case."
    },
    {
      "name": "p64_n16_enable_expert_parallel_tuned_config_oom",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "expert_parallel": true,
      "tuned_config": "configs/vllm/minimax-m27-b70-int4-w4a16-moe-ep-negative-20260508.json",
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260508T184915Z.log",
      "interpretation": "Blocked/negative. The EP M=1 MoE tune improved the standalone kernel from about 723 us to 277 us, but the model-level run with the EP config failed during initialization with XPU OOM while allocating a 144 MiB expert tensor on GPU3. Do not pursue EP on TP4/B70 without first addressing memory/layout and all2all overhead."
    },
    {
      "name": "p512_n128_pidfd_hybrid_moe_max_batched_tokens_512",
      "prompt_tokens": 512,
      "output_tokens": 128,
      "context_length": 2048,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "max_num_batched_tokens": 512,
      "tuned_config": "configs/vllm/minimax-m27-b70-int4-w4a16-moe-hybrid-20260508.json",
      "tok_s_total": 67.835347,
      "tok_s_output": 13.57,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260508T185133Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n128-20260508T185133Z.json",
      "interpretation": "Negative. Reducing max_num_batched_tokens from 1024 to 512 with the hybrid B70 MoE config cut p512/n128 throughput from 20.11 to 13.57 output tok/s; keep 1024 for this benchmark shape."
    },
    {
      "name": "p64_n16_ngram_speculative_decode",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "tuned_config": "configs/vllm/minimax-m27-b70-int4-w4a16-moe-hybrid-20260508.json",
      "speculative_config": {
        "method": "ngram",
        "num_speculative_tokens": 4,
        "prompt_lookup_min": 2,
        "prompt_lookup_max": 5
      },
      "tok_s_total": 11.287082,
      "tok_s_output": 2.26,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260509T000544Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260509T000544Z.json",
      "interpretation": "Negative. CPU n-gram speculation disabled async scheduling and was far slower than the non-speculative MiniMax AutoRound path; not submitted to LocalMaxxing."
    },
    {
      "name": "p64_n16_ngram_gpu_speculative_decode",
      "prompt_tokens": 64,
      "output_tokens": 16,
      "context_length": 512,
      "tensor_parallel": 4,
      "ccl_ze_ipc_exchange": "pidfd",
      "ccl_topo_p2p_access": 1,
      "tuned_config": "configs/vllm/minimax-m27-b70-int4-w4a16-moe-hybrid-20260508.json",
      "speculative_config": {
        "method": "ngram_gpu",
        "num_speculative_tokens": 4,
        "prompt_lookup_min": 2,
        "prompt_lookup_max": 5
      },
      "tok_s_total": 15.728492,
      "tok_s_output": 3.15,
      "log": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260509T001359Z.log",
      "json": "/home/steve/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p64n16-20260509T001359Z.json",
      "interpretation": "Negative. GPU n-gram speculation kept async scheduling but remained far slower than the non-speculative MiniMax AutoRound path; not submitted to LocalMaxxing."
    },
    {
      "name": "native_mtp_checkpoint_check",
      "native_mtp_available": false,
      "model_config_use_mtp": true,
      "num_mtp_modules": 3,
      "mtp_weight_count_layers_62_to_64": 0,
      "interpretation": "Blocked. The config advertises MTP, but the AutoRound checkpoint has no MTP layer tensors and this vLLM tree has no MiniMax MTP adapter."
    },
    {
      "name": "llm_scaler_moe_int4_build_probe",
      "source": "/home/steve/src/llm-scaler/vllm/custom-esimd-kernels-vllm",
      "target_shape": {
        "hidden_size": 3072,
        "intermediate_size_sample": 256,
        "intermediate_size_actual_tp4": 384,
        "num_experts": 256,
        "top_k": 8,
        "tensor_parallel": 4
      },
      "oneapi_failed_version": "2026.0",
      "oneapi_working_version": "2025.3.2",
      "workaround": "-D__DPCPP_SYCL_EXTERNAL_LIBC=__DPCPP_SYCL_EXTERNAL",
      "patched_file": "/home/steve/src/llm-scaler/vllm/custom-esimd-kernels-vllm/setup_moe_int4_only.py",
      "interpretation": "Build issue resolved for the MoE-only extension by compiling with oneAPI 2025.3.2 and linking to the PyTorch XPU venv's libsycl.so.8. oneAPI 2026 either linked to libsycl.so.9 and crashed on launch or crashed when forced against libsycl.so.8."
    }
  ],
  "next_steps": [
    "Keep max_num_batched_tokens=1024 for MiniMax p512/n128; the 512-token chunk setting is a large regression.",
    "Treat vLLM expert parallelism as negative/blocked for 4x B70 single-session MiniMax until all2all overhead and the tuned-config OOM are understood.",
    "Retune larger MiniMax MoE prompt sizes only if the microbench shows a stronger gain than default; the first hybrid config is a small positive but not enough to reach 30 tok/s.",
    "Tune or supply a B70 int4_w4a16 MoE config for E=256,N=384; AMD-derived seeds were rejected or slower.",
    "Implement or port an XPU equivalent of minimax_allreduce_rms_qk before retesting MiniMax QK norm fusion.",
    "Keep pidfd IPC and P2P=1 as defaults. Treat P2P=0 as negative and topology-check disable as neutral diagnostic.",
    "Treat enforce-eager as negative for MiniMax AutoRound unless compiled mode starts failing.",
    "Treat ngram and ngram_gpu speculative decode as negative for the current MiniMax single-session random benchmark.",
    "Treat native MiniMax MTP as blocked until a checkpoint with MTP weights and a MiniMax MTP adapter are available.",
    "Continue llm-scaler ESIMD INT4 MoE only below the Python-routing level. The exact microbench is positive, but the first full-model opt-in integration regressed to 12.27 output tok/s.",
    "Add BF16 support, an unsigned-weight decode-only kernel, or a monolithic C++/SYCL N-major routed MoE op before retesting llm-scaler in the full MiniMax model."
  ]
}
