Skip to content

gfx120X release unusable on gfx1201: missing clang-NN binary (Triton JIT) + _C/libtorch ABI mismatch (undefined c10::hip::getCurrentHIPStream) #19

Description

@The-Monk

Summary

The vllm0.22.1-rocm7.13.0-gfx120X release tarball installs (via lemonade-sdk/lemonade #2423) but cannot serve any model on gfx1201 (RDNA4, Radeon AI PRO R9700) due to two defects in the release artifact itself. The vLLM engine reaches V1 engine init before failing, so this looks like a packaging/build issue rather than an RDNA4 incompatibility.

Environment

  • GPU: 2× AMD Radeon AI PRO R9700 (Navi 48, gfx1201), ROCm 7.2.1 host
  • vLLM: vllm0.22.1-rocm7.13.0-gfx120X (v0.22.1), installed via lemonade-server
  • Model: Qwen3.5-0.8B-FP16-vLLM, enforce_eager=True, --gpu-memory-utilization 0.7

Defect 1 — bundled compiler is missing its clang-NN binary (Triton JIT fails)

At runtime Triton JITs a kernel launcher and shells out to the bundled clang:

.../_rocm_sdk_core/lib/llvm/bin/clang

which is only the 26 KB driver stub; it execs clang-23, but that binary is not in the tarball:

could not exec .../_rocm_sdk_core/lib/llvm/bin/clang-23: No such file or directory
subprocess.CalledProcessError: Command '[.../clang', '__triton_launcher.c', ...]' returned non-zero exit status 1

(triton/runtime/build.py sends compiler stderr to DEVNULL, which hides the real error — separately worth surfacing.) Workaround: symlink clang-23 → a real clang (e.g. ROCm's /opt/rocm-*/llvm/bin/clang). That lets Triton JIT proceed.

Defect 2 — _C.abi3.so ABI mismatch with bundled libtorch (showstopper)

With Defect 1 worked around, the engine then dies importing the compiled ops:

ImportError: .../vllm/_C.abi3.so: undefined symbol: _ZN3c103hip19getCurrentHIPStreamEa

Demangled: c10::hip::getCurrentHIPStream(signed char). The bundled torch/lib/libc10_hip.so does not export getCurrentHIPStream (confirmed via nm -D), i.e. vllm/_C.abi3.so (and _rocm_C.abi3.so) were built against a different libtorch ABI than the torch shipped in the same wheel/bundle. No on-box workaround.

Expected

The gfx120X release should (a) include the real clang-NN binary the Triton/ROCm SDK driver execs, and (b) ship _C/_rocm_C built against the exact bundled libtorch so the c10 HIP symbols resolve.

Note

Engine init progressed through model load, V1 engine construction, and device setup before Defect 2 — so RDNA4/gfx1201 support itself looks viable once the release is built consistently. Happy to test a fixed gfx120X build on real gfx1201 hardware.

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