Skip to content

Eval bug: Vulkan: llama-bench segfault on AMD RDNA2 (RX 6800 XT) #22992

@deepakhj

Description

@deepakhj

Name and Version

❯ build/bin/llama-cli --version
ggml_cuda_init: found 1 ROCm devices (Total VRAM: 16368 MiB):
Device 0: AMD Radeon RX 6800 XT, gfx1030 (0x1030), VMM: no, Wave Size: 32, VRAM: 16368 MiB
version: 139 (a9883db)
built with Clang 22.1.3 for Linux x86_64

Operating systems

Linux

GGML backends

Vulkan

Hardware

Intel Core i7-10700K 3.8 GHz 8-Core Processor
RX 6800 XT 16GB VRAM

ROCm: 7.2.2
Vulkan: RADV NAVI21 (Mesa 26.1.0)

Models

Unsloth Qwen3.6-35B-A3B-UD-IQ3_XXS.gguf
IQ3_XXS

Problem description & steps to reproduce

Running llama-bench with Vulkan backend on AMD RX 6800 XT crashes immediately with a segfault starting with build b139. The same build works fine with ROCm, and llama-cli with Vulkan works fine too.

I tracked it down to the commit that broke it. 706fbd8

RDNA2 doesn't support cooperative matrix operations (coopmat), so mul_mat_l is set to false. The switch statement sets it properly on lines 5651 and 5685.

Changing lines 5724 - 5729 to use the values from the switch statement fixes the issue.

  device->mul_mat_l_int[i]    = device->mul_mat_l[i];
  device->mul_mat_m_int[i]    = device->mul_mat_m[i];
  device->mul_mat_s_int[i]    = device->mul_mat_s[i];
  device->mul_mat_id_l_int[i] = device->mul_mat_id_l[i];
  device->mul_mat_id_m_int[i] = device->mul_mat_id_m[i];
  device->mul_mat_id_s_int[i] = device->mul_mat_id_s[i];

First Bad Commit

706fbd8

Relevant log output

Logs
build-vulkan/bin/llama-bench -m ~/.cache/huggingface/hub/models--unsloth--Qwen3.6-35B-A3B-GGUF/snapshots/*/Qwen3.6-35B-A3B-UD-IQ3_XXS.gguf -p 512,1024 -n 128
ggml_vulkan: Found 1 Vulkan devices:
ggml_vulkan: 0 = AMD Radeon RX 6800 XT (RADV NAVI21) (radv) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 65536 | int dot: 1 | matrix cores: none
| model                          |       size |     params | backend    | ngl |            test |                  t/s |
| ------------------------------ | ---------: | ---------: | ---------- | --: | --------------: | -------------------: |
fish: Job 1, 'build-vulkan/bin/llama-bench -m…' terminated by signal SIGSEGV (Address boundary error)

Metadata

Metadata

Assignees

No one assigned

    Labels

    VulkanIssues specific to the Vulkan backendbugSomething isn't working

    Type

    No type
    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