Describe the bug
Running unsloth/Qwen3.5-0.8B-GGUF with the GenieX NPU backend on a Dragonwing IQ-9075 EVK consistently crashes.
The same model runs successfully with the CPU backend.
When --compute npu is used, the process aborts inside the Qualcomm Adreno shader compiler with a QGPUInstructionValidator assertion.
The issue is reproducible on Qualcomm Linux Reference Distro 2.0.
To Reproduce
-
Install GenieX on a Dragonwing IQ-9075 EVK.
-
Verify the GenieX version:
Output:
GenieX CLI Version: v0.3.14
QAIRT Runtime Version: v2.45.0.260326
LlamaCPP Runtime Hash: be4a6a6
- Download the model:
geniex pull unsloth/Qwen3.5-0.8B-GGUF
The selected chipset is:
The model downloads successfully and is automatically detected as:
- Verify that CPU inference succeeds:
geniex infer unsloth/Qwen3.5-0.8B-GGUF \
--compute cpu \
--ngl 0 \
--think=false \
--max-tokens 128 \
--prompt "Please list five common inventory anomalies."
CPU inference completes successfully.
Observed performance:
Approximately 29 tokens/s
Approximately 0.1 seconds to first token
A Traditional Chinese prompt also works correctly:
geniex infer unsloth/Qwen3.5-0.8B-GGUF \
--compute cpu \
--ngl 0 \
--think=false \
--max-tokens 128 \
--prompt "請使用繁體中文列出五項常見庫存異常。"
- Run the same model using the NPU backend:
geniex infer unsloth/Qwen3.5-0.8B-GGUF \
--compute npu \
--ngl 999 \
--think=false \
--max-tokens 128 \
--prompt "Please list five common inventory anomalies."
- The process crashes with the following error:
NumConstRegsError: # of constant registers must be < 2.
In inst# 1: %R6_c<def> = IMINrr %C22.x, %UR0_a, 1
Assertion failed: false && "back-end instruction validation failed",
file /usr/src/debug/qcom-adreno/1.855.4/shadercompiler/llvm/lib/Target/Oxili/QGPUInstructionValidator.cpp,
line 440
FATAL ERROR: false && "back-end instruction validation failed"
Expected behavior
The model should run successfully using the IQ-9075 NPU backend and generate a text response.
If this model, VLM configuration, or one of its operators is not supported by the NPU backend, GenieX should return a clear unsupported-model or unsupported-operator error instead of terminating with a shader compiler assertion.
Screenshots
Not applicable.
The full terminal output is included above.
Environment
- Device: Dragonwing IQ-9075 EVK
- SoC: Qualcomm QCS9075
- Architecture: aarch64
- OS: Qualcomm Linux Reference Distro 2.0
- Kernel:
6.18.21-g7368c42b9cca-dirty
- GenieX CLI: v0.3.14
- QAIRT Runtime: v2.45.0.260326
- LlamaCPP Runtime Hash: be4a6a6
- Adreno shader compiler version: 1.855.4
- Model:
unsloth/Qwen3.5-0.8B-GGUF
- Precision: Q4_0
- Model type detected by GenieX: VLM
OS information
ID=qcom-distro
NAME="Qualcomm Linux Reference Distro"
VERSION="2.0"
VERSION_ID=2.0
PRETTY_NAME="Qualcomm Linux Reference Distro 2.0"
CPE_NAME="cpe:/o:openembedded:qcom-distro:2.0"
Kernel information
Linux iq-9075-evk 6.18.21-g7368c42b9cca-dirty #1 SMP PREEMPT Tue May 5 09:29:10 UTC 2026 aarch64 GNU/Linux
Additional context
- The model runs correctly using
--compute cpu.
- The failure occurs only when hardware acceleration is enabled.
- The crash occurs inside the Adreno shader compiler even though
--compute npu is explicitly selected.
- Qwen3.5-0.8B is automatically detected as a VLM.
- The test is text-only and does not include an image input.
- The same issue was previously reproduced on Qualcomm Linux 1.6 with Adreno version 1.808.11.
- Reflashing the board to Qualcomm Linux Reference Distro 2.0 upgraded the Adreno stack to 1.855.4, but the same failure remains.
Could you please confirm:
- Is
unsloth/Qwen3.5-0.8B-GGUF Q4_0 officially supported by the GenieX NPU backend on IQ-9075 / QCS9075?
- Is text-only NPU inference supported when this model is detected as a VLM?
- Why does
--compute npu fail inside the Adreno shader compiler?
- Is this
NumConstRegsError a known issue?
- Is there a recommended GenieX version, model export, GGUF file, or BSP configuration for this model?
Describe the bug
Running
unsloth/Qwen3.5-0.8B-GGUFwith the GenieX NPU backend on a Dragonwing IQ-9075 EVK consistently crashes.The same model runs successfully with the CPU backend.
When
--compute npuis used, the process aborts inside the Qualcomm Adreno shader compiler with aQGPUInstructionValidatorassertion.The issue is reproducible on Qualcomm Linux Reference Distro 2.0.
To Reproduce
Install GenieX on a Dragonwing IQ-9075 EVK.
Verify the GenieX version:
Output:
The selected chipset is:
The model downloads successfully and is automatically detected as:
geniex infer unsloth/Qwen3.5-0.8B-GGUF \ --compute cpu \ --ngl 0 \ --think=false \ --max-tokens 128 \ --prompt "Please list five common inventory anomalies."CPU inference completes successfully.
Observed performance:
A Traditional Chinese prompt also works correctly:
geniex infer unsloth/Qwen3.5-0.8B-GGUF \ --compute cpu \ --ngl 0 \ --think=false \ --max-tokens 128 \ --prompt "請使用繁體中文列出五項常見庫存異常。"geniex infer unsloth/Qwen3.5-0.8B-GGUF \ --compute npu \ --ngl 999 \ --think=false \ --max-tokens 128 \ --prompt "Please list five common inventory anomalies."Expected behavior
The model should run successfully using the IQ-9075 NPU backend and generate a text response.
If this model, VLM configuration, or one of its operators is not supported by the NPU backend, GenieX should return a clear unsupported-model or unsupported-operator error instead of terminating with a shader compiler assertion.
Screenshots
Not applicable.
The full terminal output is included above.
Environment
6.18.21-g7368c42b9cca-dirtyunsloth/Qwen3.5-0.8B-GGUFOS information
Kernel information
Additional context
--compute cpu.--compute npuis explicitly selected.Could you please confirm:
unsloth/Qwen3.5-0.8B-GGUFQ4_0 officially supported by the GenieX NPU backend on IQ-9075 / QCS9075?--compute npufail inside the Adreno shader compiler?NumConstRegsErrora known issue?