auto-round
Optimize INT4 MoE prefill/decode (sym) XPU kernels with dedicated w4a16 tiling
#2111
Merged

Optimize INT4 MoE prefill/decode (sym) XPU kernels with dedicated w4a16 tiling #2111

copilot-swe-agent
a32543254 update the code
8be551d3
a32543254 opt 16 bit group gemm
ff76f390
Copilot perf: dedicated w4a16 tiles for int4 moe prefill + widen decode gemv
68bb067d
copilot-swe-agent copilot-swe-agent assigned copilot-swe-agent copilot-swe-agent 95 days ago
copilot-swe-agent copilot-swe-agent assigned a32543254 a32543254 95 days ago
Copilot fix: avoid illegal sycl::vec<uint16_t,32> in int4 MoE decode kernel
6cda6c8c
copilot-swe-agent copilot-swe-agent requested a review from a32543254 a32543254 95 days ago
Copilot perf: widen int8 MoE decode to 32-wide vectorized ladder
ed2c78fa
Copilot perf: widen int2 MoE decode to 32-wide vectorized ladder
488fa34b
Copilot perf: widen fp8 MoE decode to 32-wide vectorized ladder
2284e77c
Copilot perf: hoist per-group/per-expert scale out of fp8 MoE decode inner loop
a039ad95
Copilot perf: defer per-group scale fold in native fp8 MoE prefill sym mainloop
f2c47391
Copilot merge: integrate opt_moe_kernel MoE kernel optimizations (WIP)
ec616218
Copilot fix: resolve S4 MoE dispatch conflict (opt_moe env-policy + our w4a16…
90ba4332
Copilot fix: restore INT4 MoE perf by defaulting S4 direct DPAS path ON
f4efc895
Copilot revert: restore int4 MoE to original base implementation
54669280
Copilot Changes before error encountered
515f839a
Copilot fix: restore fp8 per-expert MoE prefill large-M tile policy threshold
93cde8c0
Copilot fix: restore fp8 per-group MoE prefill large-M tile policy threshold
f8877638
Copilot revert: undo fp8 per-group MoE prefill threshold change
c8374a86
Copilot fix: switch ark.moe auto dispatch to total-token threshold
3b3d7148
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
ff20e3a4
Copilot feat: route int4-sym MoE decode to shared S4 DPAS grouped GEMM
6c3d26f2
Copilot test: add int4-sym decode DPAS vs scalar perf comparison; docs
0c946597
Copilot fix: split orphaned int8 block out of int4-sym dpas perf test
ffd2926c
Copilot fix: lower default MoE auto-decode threshold 256 -> 32
87b617ea
Copilot test: add int4-sym DPAS vs scalar token-count sweep for MoE decode th…
23ba0dbf
Copilot perf: hoist per-group scale and split accumulators in int4 MoE decode…
a1480af3
Copilot perf: coalesce int4 MoE decode weight loads via on-device N-tiled repack
c20c0b2c
Copilot perf: block tokens-per-expert in coalesced int4 MoE decode GEMV
8c732ed8
Copilot fix: parameterize MoEDecodeRepackInt4 kernel name to avoid duplicate …
cc939f8d
Copilot perf: gate coalesced int4 decode on repack amortization to fix tiny-b…
590ce59a
Copilot fix: qualify TOKEN_BLOCK with moe_decode_detail namespace
d80a9a13
Copilot perf: hoist routing filter out of int4 coalesced decode hot loop
7db3d5f2
Copilot feat: add dedicated w4a16_policy_m_8 decode DPAS dispatch for S4 sym
c8ef1b8e
Copilot docs+test: document decode S4 DPAS path and add A/B parity assertion
a3c82ced
Copilot perf: reuse persistent atomic buffer in S4 DPAS dispatch
33960828
Copilot perf: trim device-timeline overhead on S4 DPAS decode hot path
ba2c18d7
Copilot perf(ark): use A_avg_M tile ladder for int4 moe sym decode (match vll…
5b88c2ec
Copilot perf(ark): route decode-sized int4-sym moe through the asym scalar GEMV
1f7b6313
Copilot perf(ark): decode int4-sym nibbles through the asym unsigned path (^0…
211e95f8
Copilot perf(ark): vectorize int4 decode GEMV loads, hoist activation sums, p…
e4d25c5d
Copilot test,docs: cover the new int4 decode paths and document the tuning knobs
4ec9d7fe
Copilot perf: speed up int4-sym MoE decode with word-native nibble decode
610a005d
Copilot docs: update int4 decode perf notes for word-native nibble decode
a2827941
Copilot perf: word-native FP8 decode + decode-tuned FP8 DPAS dispatch
6cd81921
Copilot test: FP8 decode-mode + DPAS parity/perf coverage; docs: FP8 decode s…
3423da8f
Copilot fix: restore test_perf_fp8_per_tensor definition; make fp8_decode_mod…
c6f67a13
Copilot perf: add K-split lane-parallel FP8 MoE decode GEMV
7102f0ec
Copilot docs: describe the K-split FP8 decode GEMV (EN + CN)
e43b98f7
Copilot perf: N-block the FP8 K-split decode GEMV and drop the per-call routi…
51328f36
Copilot perf: raise the MoE auto-dispatch decode cutoff from 32 to 128 tokens
03ca8774
Copilot test: add qwen3-moe int4-sym prefill and decode perf benchmarks
353543da
Copilot docs: document Qwen3-MoE int4-sym prefill/decode perf tests
42949b74
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
006d7f05
a32543254 a32543254 marked this pull request as ready for review 75 days ago
a32543254 a32543254 requested a review from Zhenzhong1 Zhenzhong1 75 days ago
AutoRoundBot
azure-pipelines
a32543254 opt the performance
21d58d66
a32543254
a32543254
Copilot Merge branch 'main' into copilot/optimize-int4-moe-performance
c01f7206
Copilot docs: point S4 decode dispatch references at the generated TU after m…
b3080671
Copilot style: wrap ARK MoE decode lines to the 120-char limit
86b1a105
copilot-swe-agent
Zhenzhong1 Zhenzhong/moe opt (#2216)
67a23536
a32543254 a32543254 requested a review from luoyu-intel luoyu-intel 71 days ago
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
4553a863
Copilot fix: include fp8 dpas header in generated moe decode fp8 TU
8b129103
AutoRoundBot
azure-pipelines
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
41ae7db2
AutoRoundBot
azure-pipelines
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
24a3cc99
Zhenzhong1
Zhenzhong1 approved these changes on 2026-08-31
AutoRoundBot
azure-pipelines
a32543254
luoyu-intel
luoyu-intel commented on 2026-09-01
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
5995a2e7
AutoRoundBot
azure-pipelines
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
716fd475
AutoRoundBot
azure-pipelines
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
17d1e3c4
Copilot refactor: serve MoE DPAS atomic counter from DeviceMemoryPool scratch
35db0328
Copilot docs: clarify serialization assumption for the pooled atomic counter
f5ff0841
AutoRoundBot
azure-pipelines
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
20b24a95
AutoRoundBot
azure-pipelines
Copilot refactor: serve MoE DPAS prefill atomic counter from the scratch pool
026a363f
Copilot docs: record that the pooled counter relies on the in-kernel reset
1a9f704c
AutoRoundBot
azure-pipelines
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
5c4a7ece
AutoRoundBot
azure-pipelines
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
5965dee5
AutoRoundBot
azure-pipelines
Copilot perf: split FP8 decode DPAS instantiations into per-policy TUs
4bd927ea
Copilot docs: document FP8 decode per-policy TU split; note ladder location
532de07e
AutoRoundBot
azure-pipelines
Copilot perf: split FP8 decode scalar-GEMV kernels into per-mode TUs
8e8f231f
Copilot docs: document FP8 decode per-mode TU split (EN + CN)
da9ea044
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
fcf8587a
AutoRoundBot
azure-pipelines
Copilot perf: split bf16/fp16 MoE GEMM tile policies into per-policy TUs
daa5aafe
AutoRoundBot
azure-pipelines
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
aae50b4f
AutoRoundBot
azure-pipelines
Copilot refactor(ark): serve MoE decode scratch from DeviceMemoryPool
6269ffcc
Copilot docs(ark): document device-keyed decode scratch; harden OOM path
d4932b5f
AutoRoundBot
azure-pipelines
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
35b2a74c
AutoRoundBot
azure-pipelines
a32543254 Merge branch 'main' into copilot/optimize-int4-moe-performance
09547b06
AutoRoundBot
azure-pipelines
luoyu-intel
luoyu-intel approved these changes on 2026-09-04
a32543254 add the code
22d4ce21
AutoRoundBot
azure-pipelines
a32543254 a32543254 merged 21bab556 into main 59 days ago
a32543254 a32543254 deleted the copilot/optimize-int4-moe-performance branch 59 days ago

Login to write a write a comment.

Login via GitHub

Assignees
Labels
Milestone