| 23324 | DS4_ROPE_YARN_BETA_SLOW, |
| 23325 | DS4_RMS_EPS) != 0; |
| 23326 | kv_rope_fused = ok; |
| 23327 | } else if (ok) { |
| 23328 | /* Triple fusion: q/kv norm + KV RoPE tail + FP8/raw store in one |
| 23329 | * dispatch; verbatim arithmetic (see metal/norm.metal). */ |
| 23330 | if (!metal_graph_tp_ablate("kv") && |
| 23331 | !kvnorm_dump && |
| 23332 | !metal_graph_use_reference_kv_decode() && |
| 23333 | !resume_after_kv_store && |
| 23334 | DS4_N_HEAD_KV == 1u && |
| 23335 | DS4_N_HEAD_DIM == 512u && |
| 23336 | DS4_N_ROT == 64u && |
| 23337 | raw_cache != NULL && |
| 23338 | raw_row < raw_cap && |
| 23339 | phase == METAL_DECODE_LAYER_FULL && |
| 23340 | getenv("DS4_METAL_DISABLE_PRE_M5_QKV_NORM_KV_STORE_FUSE") == NULL && |
| 23341 | (ds4_gpu_device_is_pre_m5_apple_silicon() || |
no test coverage detected