Skip to content

Qwen3.5-0.8B GGUF crashes on IQ-9075 NPU with QGPUInstructionValidator assertion #1178

Description

@Eric851127

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

  1. Install GenieX on a Dragonwing IQ-9075 EVK.

  2. Verify the GenieX version:

geniex version

Output:

GenieX CLI Version:     v0.3.14
QAIRT Runtime Version:  v2.45.0.260326
LlamaCPP Runtime Hash:  be4a6a6
  1. Download the model:
geniex pull unsloth/Qwen3.5-0.8B-GGUF

The selected chipset is:

Dragonwing IQ-9075 EVK

The model downloads successfully and is automatically detected as:

Detected model type: vlm
  1. 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 "請使用繁體中文列出五項常見庫存異常。"
  1. 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."
  1. 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:

  1. Is unsloth/Qwen3.5-0.8B-GGUF Q4_0 officially supported by the GenieX NPU backend on IQ-9075 / QCS9075?
  2. Is text-only NPU inference supported when this model is detected as a VLM?
  3. Why does --compute npu fail inside the Adreno shader compiler?
  4. Is this NumConstRegsError a known issue?
  5. Is there a recommended GenieX version, model export, GGUF file, or BSP configuration for this model?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions