Skip to content

[Issue]: Gemma-4-E4B outputs only <unused49> on gfx1151 with ROCm 10.1.0a nightly #7714

Description

@Cheryl-Chou

Problem Description

On a gfx1151 (Strix Halo) APU, llama.cpp built against the ROCm 10.1.0a20260822 nightly makes Gemma-4-E4B emit nothing but the special token once the prompt exceeds roughly 7000 tokens - 300 out of 300 sampled tokens, starting from the very first one.
The ROCm 7.14 release build of the same llama.cpp runs the identical model and prompts correctly on the same machine.

This is superficially similar to #5579, but it is a different root cause: that one was gfx1152 missing from the RDNA3_5 macro in ggml/src/ggml-cuda/vendors/hip.h. gfx1151 has always been in that macro, and all builds tested here postdate ggml-org/llama.cpp#24129

Operating System

Windows 11

CPU

AMD Ryzen AI MAX+ PRO 395

GPU

Radeon 8060S Graphics

ROCm Version

ROCm 10.1.0a20260822

ROCm Component

No response

Steps to Reproduce

  1. download model: https://huggingface.co/unsloth/gemma-4-E4B-it-GGUF
  2. Download different builds for comparison
    fails build :

clean build:

  1. Download prompt : prompt_rfc_12k.txt
    Note: This is characters 20000-68000 of RFC 8446 (https://www.rfc-editor.org/rfc/rfc8446.txt), i.e. plain technical prose. It tokenises to 11207 prompt tokens with this model.

  2. Start the server:
    llama-server.exe -m gemma-4-E4B-it-Q4_K_M.gguf -c 32768 -ngl 99 --port 9797

  3. Send the request

import requests

doc = open("prompt_rfc_12k.txt", encoding="utf-8").read()

r = requests.post("http://127.0.0.1:9797/v1/chat/completions", json={
    "messages": [{"role": "user", "content":
        doc + "\n\nQuestion: Summarise the document above in three bullet points."}],
    "temperature": 0,
    "seed": 1,
    "max_tokens": 300,
    "stream": False,
}, timeout=900).json()

msg = r["choices"][0]["message"]
ans = (msg.get("reasoning_content") or "") + (msg.get("content") or "")

print("prompt_tokens:", r["usage"]["prompt_tokens"])
print("unused tokens:", ans.count("<unused"))
print(ans[:200])

  1. Result
    lemonade-sdk b1317 (ROCm 10.1.0a nightly)
    prompt_tokens: 11207
    unused tokens: 300
    ...
    llama.cpp b10644 (ROCm 7.14) and b10644 (Vulkan)
    prompt_tokens: 11207
    unused tokens: 0
    Here's a plan to summarize the document: 1. Analyze the content: Review the provided text (RFC 8446, TLS)...

(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support

rocminfo --support output
Paste output here

Additional Information

Environment
OS: Windows 11
Hardware: AMD Ryzen AI MAX+ PRO 395 w/ Radeon 8060S Graphics (Strix Halo, gfx1151), 128 GB
Driver: 32.0.22018.5
Model: unsloth/gemma-4-E4B-it-GGUF → gemma-4-E4B-it-Q4_K_M.gguf (4977171584 bytes)

Results
Model: unsloth/gemma-4-E4B-it-GGUF → gemma-4-E4B-it-Q4_K_M.gguf
llamacpp-rocm b1317 + 10.1.0a20260822 nightly : corrupted result
llama.cpp b10644 ROCm + 7.14 release : clean result
llama.cpp b10644 Vulkan : clean result

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    TODO

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions