Pull requests / #2487

#2487 sycl/A770: large GRF for the grouped expert kernels (bit-identical; Alchemist default)

open · @aslater3 · 0 コメント · GitHub で見る

BenchmarksNVIDIA / CUDAModels & quantsWindows

本文

## Title
sycl/A770: large GRF for the grouped expert kernels (bit-identical; Alchemist default)

## Summary
On Arc A-series (Alchemist), the gate/up and down launches of `native_expert_grouped` run in large-GRF mode (256 registers per thread). This is the decode window's VRAM-hit expert kernel. The arithmetic is unchanged, so the output is bit-identical. Battlemage and every other device keep the compiler's default GRF and the same kernels.

## What changed
- `sycl/src/kernels/cuda/iq_kernels.dp.cpp`:
  - `launch_gu_port` / `launch_down_port` dispatch to a `BIG` template variant with `grf_size<256>`.
  - The choice comes from `expert_large_grf(q)`: `intel_gpu_gen == Alchemist` by default. `STRATA_EXPERT_LARGE_GRF=1` forces it on, `=0` off.

## Extra Notes
Arc A770 16 GB, xe, compute runtime 26.05, oneAPI 2026.1.

**Kernel bench.** `native_grouped_parity --bench2` (in the bench PR), at the Coder's shape: 2560 × 640, 16 groups / 24 entries, 48 layers with their own experts.

| formats | default GRF | large GRF |
|---|---|---|
| IQ2_S / IQ4_NL | 218 µs | 179 µs |
| IQ3_XXS / IQ4_NL | 215 µs | 197 µs |
| IQ3_S / Q2_0 | 280 µs | 232 µs |

**Correctness.** `native_grouped_parity`: 0 failures.

**Decode.** +1.3% on its own. The stepped window runs these kernels alongside the CPU's misses, so most of the kernel gain is hidden while the CPU pool is the longer side.

Not tested: A750 / A580, i915, Windows.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

関連リンク

インストール・モデル・リリースへの站内リンク。