Skip to content

[Bug][ROCm][RDNA3] vLLM 0.23 RDNA image: Qwen3 answers garbage after the first request on RX 7900 XTX (fix in PR #1403) #1404

Open

Description

@hadihonarvar

Image: rocm/vllm:rocm7.14.1_rdna_ubuntu24.04_py3.14_pytorch_2.11_vllm_0.23.0 (vLLM 0.23.1.dev1+g9ddef7117, branch release/0.23.0)
GPU: AMD Radeon RX 7900 XTX (gfx1100), ROCm 7.14.1, torch 2.11.0+rocm7.14.1

Problem

Qwen3 models (1.7B and 8B checked) answer garbage from the first or second request onward. The same prompt at temperature 0 gives ': 1.0.0.0…', then '1111…' or ' of of of…'. Qwen2.5 1.5B/7B are correct on the same card.

Cause

One non_blocking host-to-device copy from pageable memory: async_copy_to_gpu(query_start_loc_np, out=self.input_buffers.query_start_loc) in vllm/v1/worker/gpu/model_runner.py. Its first elements intermittently stay stale even after a full device synchronize, so attention reads the KV cache at wrong offsets. Upstream main stages this copy through pinned memory since vllm-project#56888 (included in vLLM v0.30.0+), but that change is not in the 0.23.0 RDNA image.

Ask

Either of these resolves it:

  1. Merge the backport PR [Bugfix][ROCm] Stage pageable H2D copies in async_copy_to_gpu through pinned memory #1403 (one function, validated on an RX 7900 XTX: 0/12 → 12/12 correct), and rebuild the RDNA image; or
  2. Publish an RDNA image built from a vLLM release that contains [MRV2] Buffer util simplifications vllm-project/vllm#56888 (v0.30.0 or later).

The repro script, the before/after table and how the copy was isolated are in the PR.

Contact: Hadi Honarvar, hadi@opod.io or hadi.work.ca@gmail.com (https://opod.io)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions