Compile bug: SYCL AOT build for mtl-m (Xe-LPG) fails: `dpas.nosrc0` intrinsic not supported, introduced by d81d0d8fb
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- cmake, cpp, linux
- Ambito
- backend, build-system
Direzione di ricerca
Start with the regression commit d81d0d8fb95e52a66992bcfc212b1891b4d2f94a and the XMX implementation at ggml/src/ggml-sycl/esimd.hpp:1036, where xmx::dpas is called. Reproduce using the provided CMake configuration for GGML_SYCL on mtl-m and inspect how AOT code generation handles that kernel. Done means AOT compilation succeeds on Xe-LPG using a supported DPAS form or by excluding the unsupported kernels for that target.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Git commit
1ab09d632ebc30f171f58547a1110f8d6e9546c0 (b11834)
Operating systems
Linux
GGML backends
SYCL
Problem description & steps to reproduce
Compiling llama.cpp with the SYCL backend using AOT compilation for Meteor Lake iGPU (-device mtl-m, Xe-LPG) fails since d81d0d8fb (b11821, PR #29864 "Multi-column on Intel XMX matrix engines refactored"). The new XMX kernels call xmx::dpas (ggml/src/ggml-sycl/esimd.hpp:1036), which the compiler lowers to the llvm.genx.dpas.nosrc0 intrinsic. This intrinsic variant is not supported on Xe-LPG — the DPAS unit on Meteor Lake does not support the no-src0 form (it is a Xe2+ feature), so the AOT backend pass (GenXCisaBuilder) aborts.
The previous build tree at 39da130fcb (b11770, oneAPI 2026.2) compiled fine with the same flags, so this is a regression introduced in this batch. Presumably PR #29864 was validated on Xe2 hardware (B70), where dpas.nosrc0 exists. JIT builds may not notice because native code generation happens lazily at kernel launch; AOT codegen for Xe-LPG fails at build time for any kernel containing the intrinsic.
Expected: AOT compilation for Xe-LPG targets should either succeed (using a DPAS form supported on Xe-LPG) or the XMX multi-column kernels should be excluded from codegen for targets that lack dpas.nosrc0.
First Bad Commit
d81d0d8fb95e52a66992bcfc212b1891b4d2f94a (b11821, PR #29864)
Last known good: 39da130fcb (b11770) built successfully with identical flags and toolchain.
Compile command
cmake -B build-aot \
-DCMAKE_C_COMPILER=icx \
-DCMAKE_CXX_COMPILER=icpx \
-DGGML_SYCL=ON \
-DGGML_SYCL_F16=ON \
-DGGML_SYCL_DEVICE_ARCH=mtl-m \
-DGGML_SYCL_DNN=OFF
cmake --build build-aot -j16
Toolchain: Intel oneAPI DPC++/C++ Compiler 2026.2.0, Debian 13, kernel 6.12.113.
Relevant log output
[ 77%] Linking CXX shared library ../../../bin/libggml-sycl.so.0.27.0
error: LLVM ERROR: GenXCisaBuilder failed for: < %.esimd28 = tail call <16 x i32> @llvm.genx.dpas.nosrc0.v16i32.v128i32.v8i32(<128 x i32> %.esimd20.join48, <8 x i32> %.esimd11, i32 17303560)>: Intrinsic is not supported by the <XeLPG> platform
error: LLVM ERROR: GenXCisaBuilder failed for: < %.esimd30 = tail call <16 x i32> @llvm.genx.dpas.nosrc0.v16i32.v128i32.v8i32(<128 x i32> %.esimd24.join48, <8 x i32> %.esimd111997, i32 17303560)>: Intrinsic is not supported by the <XeLPG> platform
error: LLVM ERROR: GenXCisaBuilder failed for: < %.esimd28.1 = tail call <16 x i32> @llvm.genx.dpas.nosrc0.v16i32.v128i32.v8i32(<128 x i32> %.esimd20.1.join48, <8 x i32> %.esimd11.1, i32 17303560)>: Intrinsic is not supported by the <XeLPG> platform
gmake[2]: *** [ggml/src/ggml-sycl/CMakeFiles/ggml-sycl.dir/build.make:1772:bin/libggml-sycl.so.0.27.0] 错误 1
gmake[1]: *** [CMakeFiles/Makefile2:2617:ggml/src/ggml-sycl/CMakeFiles/ggml-sycl.dir/all] 错误 2
gmake: *** [Makefile:146:all] 错误 2
- Lingua principale
- C++
- Stelle
- 133k
- Fork
- 24.9k
- Merge medio
- 2g 1h
- PR unite (30g)
- 475
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ggml-org/llama.cpp
-
Feature Request: Use Huawei Ascend in the NPU support sectionForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaenhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
bug-unconfirmed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
gptneox: FFN uses tanh GELU (LLM_FFN_GELU) but GPT-NeoX/Pythia are trained with exact erf GELUAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
ggml-org/llama.cpp#31456 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Compile bug: Vulkan backend fails to build since #27512 (`signbit`/`isnan`/`isinf` undeclared in `ggml_fp32_to_f8_e4m3`), GCC 16.2 and clang 22 with libstdc++ 16Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug-unconfirmed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Misc. bug: Sub-heading levels are incorrect for the CUDA, MUSA, and SYCL sections in the Docker documentationForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug-unconfirmed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
ggml-org/llama.cpp#31404 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di ggml-org/llama.cpp
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
scp-fs2open/fs2open.github.com#7984 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
jellyfin/jellyfin-desktop#1290 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
nasa/fprime#6301 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
godotengine/godot#125035 ·
I maintainer di solito rispondono entro 1 giorno
-
agent:WSL bug LOW security
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
mgradwohl/tasksmack#3290 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno