{
  "date": "2026-05-08",
  "model": {
    "hfId": "MiniMaxAI/MiniMax-M2.7",
    "ggufRepo": "unsloth/MiniMax-M2.7-GGUF",
    "quantization": "UD-IQ4_XS",
    "localPath": "/home/steve/models/minimax-m2.7-ud-iq4_xs-gguf/UD-IQ4_XS/MiniMax-M2.7-UD-IQ4_XS-00001-of-00004.gguf"
  },
  "hardware": {
    "gpu": "Intel Arc Pro B70",
    "gpuCount": 4,
    "vramGbPerGpu": 32,
    "os": "Ubuntu 24.04.4 LTS"
  },
  "engine": {
    "name": "ik_llama.cpp",
    "reportedBuildCommit": "9a26522",
    "backend": "RPC client plus four SYCL Level Zero rpc-server workers",
    "patch": "patches/ik-llama-minimax-rpc-device-map-and-graphsplit-20260508.patch"
  },
  "baseline": {
    "label": "corrected layer baseline with -nkvo 1",
    "tokSOut": 14.292387,
    "promptTokens": 0,
    "outputTokens": 64,
    "samplesTokSOut": [13.8745, 14.4737, 14.529],
    "json": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-devmapfix-best-r3-p0n64-20260508T032753Z.jsonl",
    "localmaxxingId": "cmowf7tgs000do301f1zd6jbr"
  },
  "runs": [
    {
      "label": "K/Q/V offload enabled smoke",
      "commandTail": "-p 0 -n 64 -r 1 -ngl 99 -sm layer -ts 1/1/1/1 -fa 0 -nkvo 0 -ub 32 -ctk f16 -ctv f16 -t 4 -rtr 1 -fmoe 1 -no-mmad 0 -muge 1 -sas 0",
      "tokSOut": 15.642624,
      "promptTokens": 0,
      "outputTokens": 64,
      "noKvOffload": false,
      "kvCacheDtype": "f16",
      "json": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-devmapfix-kvoffloadon-p0n64-20260508T043658Z.jsonl",
      "log": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-devmapfix-kvoffloadon-p0n64-20260508T043658Z.log"
    },
    {
      "label": "K/Q/V offload enabled r3",
      "commandTail": "-p 0 -n 64 -r 3 -ngl 99 -sm layer -ts 1/1/1/1 -fa 0 -nkvo 0 -ub 32 -ctk f16 -ctv f16 -t 4 -rtr 1 -fmoe 1 -no-mmad 0 -muge 1 -sas 0",
      "tokSOut": 16.383602,
      "stddevTokSOut": 0.1086,
      "samplesTokSOut": [16.2585, 16.4391, 16.4532],
      "promptTokens": 0,
      "outputTokens": 64,
      "noKvOffload": false,
      "kvCacheDtype": "f16",
      "json": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-devmapfix-kvoffloadon-r3-p0n64-20260508T044347Z.jsonl",
      "log": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-devmapfix-kvoffloadon-r3-p0n64-20260508T044347Z.log",
      "localmaxxingId": "cmowft2hr000oo3019is4snoq"
    },
    {
      "label": "K/Q/V offload ubatch sweep ub16 sas0",
      "tokSOut": 16.278826,
      "promptTokens": 0,
      "outputTokens": 64,
      "noKvOffload": false,
      "kvCacheDtype": "f16",
      "nUbatch": 16,
      "schedulerAsync": false,
      "json": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-kvoffloadon-sas-ub-sweep-r1-20260508T045253Z.jsonl"
    },
    {
      "label": "K/Q/V offload ubatch sweep ub32 sas0",
      "tokSOut": 16.282776,
      "promptTokens": 0,
      "outputTokens": 64,
      "noKvOffload": false,
      "kvCacheDtype": "f16",
      "nUbatch": 32,
      "schedulerAsync": false,
      "json": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-kvoffloadon-sas-ub-sweep-r1-20260508T045253Z.jsonl"
    },
    {
      "label": "K/Q/V offload ubatch sweep ub64 sas0",
      "tokSOut": 16.303453,
      "promptTokens": 0,
      "outputTokens": 64,
      "noKvOffload": false,
      "kvCacheDtype": "f16",
      "nUbatch": 64,
      "schedulerAsync": false,
      "json": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-kvoffloadon-sas-ub-sweep-r1-20260508T045253Z.jsonl"
    },
    {
      "label": "K/Q/V offload ub64 sas1",
      "tokSOut": 16.237232,
      "promptTokens": 0,
      "outputTokens": 64,
      "noKvOffload": false,
      "kvCacheDtype": "f16",
      "nUbatch": 64,
      "schedulerAsync": true,
      "json": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-kvoffloadon-sas1-ub64-r1-20260508T050451Z.jsonl"
    },
    {
      "label": "K/Q/V offload q8 K and q8 V",
      "result": "failed",
      "failure": "Context creation failed before decode.",
      "noKvOffload": false,
      "kvCacheDtype": "q8_0/q8_0",
      "log": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-kvoffloadon-q8kv-r1-p0n64-20260508T051138Z.log"
    },
    {
      "label": "K/Q/V offload q8 K and f16 V",
      "tokSOut": 2.798544,
      "promptTokens": 0,
      "outputTokens": 64,
      "noKvOffload": false,
      "kvCacheDtype": "q8_0/f16",
      "json": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-kvoffloadon-q8k-f16v-r1-p0n64-20260508T051605Z.jsonl",
      "qualityTradeoff": true
    },
    {
      "label": "K/Q/V offload with rope cache",
      "tokSOut": 16.181736,
      "promptTokens": 0,
      "outputTokens": 64,
      "noKvOffload": false,
      "kvCacheDtype": "f16",
      "ropeCache": true,
      "json": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/rpc-layer-kvoffloadon-rcache1-r1-p0n64-20260508T052318Z.jsonl"
    }
  ],
  "qualityNotes": [
    "KV cache remains f16.",
    "No speculative decoding.",
    "No expert dropping or smart expert reduction.",
    "No power-limit changes."
  ],
  "timingProbeKqvOffloadOn": {
    "label": "layer mode p0/n1 with GGML_SYCL_OP_TIMING=1 and -nkvo 0",
    "warning": "Timing mode synchronizes every SYCL op and is not a valid throughput result.",
    "tokSOutWithTiming": 3.802188,
    "json": "/home/steve/bench-results/minimax-m2.7-ud-iq4_xs-gguf/op-timing-kvoffloadon-20260508T053128Z/layer-kvoffloadon-p0n1.jsonl",
    "workerTotalsMs": {
      "rpc-b70-0": 60.418,
      "rpc-b70-1": 62.087,
      "rpc-b70-2": 64.27,
      "rpc-b70-3": 64.093
    },
    "topBuckets": [
      "MUL_MAT",
      "MOE_FUSED_UP_GATE",
      "ROPE",
      "CPY",
      "SOFT_MAX",
      "MUL_MAT_ID"
    ],
    "interpretation": "The synchronized p0/n1 kernel mix is very similar to the older -nkvo 1 timing. The p0/n64 throughput gain from -nkvo 0 likely comes from placement/copy behavior over sustained decode rather than a different single-token kernel profile."
  },
  "conclusion": "After fixing RPC device mapping and using -ts 1/1/1/1, enabling K/Q/V offload with -nkvo 0 improves MiniMax UD-IQ4_XS p0/n64 from 14.292387 tok/s to 16.383602 tok/s on 4x B70 without a model-quality tradeoff. Follow-up public flags did not beat the r3 best: ubatch was flat, scheduler async and rope cache were slower, q8 K+V failed, and q8 K/F16 V regressed badly."
}
