mudler / mudler/LocalAI

Docs: gfx1151 env vars are documented as "set automatically in the ROCm/hipblas image" but the image sets none of them

Open Beginner friendly
#12,071 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
49.2k
Forks
4.5k
Avg merge
1d 3m
Merged PRs (30d)
239

Description

LocalAI version:
localai/localai:latest-gpu-hipblas — v4.9.0 (f7ad3f70eb5d8a0ddf80e08557f0d7df28cf032e)

Environment, CPU architecture, OS, and Version:
AMD Ryzen AI MAX+ 395 / Radeon 8060S (gfx1151, Strix Halo), 128 GB, Linux 7.0.0-31, Docker


Describe the bug

The GPU Acceleration › AMD Strix Halo / gfx1151 section introduces its environment-variable table with:

Required environment variables for gfx1151 (set automatically in the ROCm/hipblas image)

The parenthetical is not true of the published image. Neither the image ENV nor entrypoint.sh sets any of the four.

This matters because the table calls them required, so a reader who trusts the parenthetical omits all four — and the failure mode is not an error. The model loads and answers, just wrongly configured.

To Reproduce

$ docker run --rm --entrypoint sh localai/localai:latest-gpu-hipblas -c \
    'env | grep -iE "HSA|ROCBLAS|GGML|HIP_" || echo "(none set)"'
(none set)

$ docker run --rm --entrypoint sh localai/localai:latest-gpu-hipblas -c \
    'grep -cE "HSA_|ROCBLAS|XNACK|SDMA|GFX" /entrypoint.sh'
0

entrypoint.sh is 35 lines: it handles EXTRA_BACKENDS, prints CPU flags, and exec ./local-ai "$@". Nothing else.

For contrast, the image does ship these, so the mechanism is in use — the ROCm ones just aren't part of it:

BUILD_TYPE=hipblas
NVIDIA_VISIBLE_DEVICES=all
NVIDIA_DRIVER_CAPABILITIES=compute,utility

Expected behavior

Either the image sets the four variables (matching the docs), or the docs drop the parenthetical so readers know to pass them. Both are fine; today the two disagree and the docs are the more optimistic of the two.

Additional context

Passing all four explicitly works — gfx1151 is genuinely supported and an 8.2 GB IQ2_XS GGUF runs at 22.25 tok/s on the iGPU, with GTT rising 10.13 GiB during a request:

environment:
  - HSA_OVERRIDE_GFX_VERSION=11.5.1
  - ROCBLAS_USE_HIPBLASLT=1
  - HSA_XNACK=1
  - HSA_ENABLE_SDMA=0

So this is purely the docs-vs-image mismatch, not a support gap.

Two smaller things in the same section, while someone is in there:

  1. NVIDIA_VISIBLE_DEVICES=all in the hipblas image. On a host with both an AMD APU and a discrete NVIDIA card, this means the ROCm image is willing to claim the NVIDIA GPU whenever the nvidia runtime is in play. Pinning an instance to the iGPU needs NVIDIA_VISIBLE_DEVICES=void alongside the compose snippet shown. Worth a line in the example, since "run ROCm on the iGPU" is the whole point of that section.

  2. ROCm version. The section says gfx1151 needs "ROCm 7.11.0+" and reports testing at 7.11.0, but latest-gpu-hipblas currently ships 7.2.1:

    $ docker run --rm --entrypoint cat localai/localai:latest-gpu-hipblas /opt/rocm/.info/version
    7.2.1
    

    It works — rocminfo and rocm_agent_enumerator both report gfx1151, and rocBLAS ships 96 gfx1151 Tensile kernel files — so the stated floor may just be higher than necessary, or may refer to a different version line than the one the image reports. Either way a reader comparing the two numbers can't tell whether the image is expected to work.

The separate, more consequential gfx1151 problem — VRAM detected as 512 MiB instead of the GTT pool — is already tracked in #12058; I've added findings there rather than here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the AMD Strix Halo/gfx1151 section linked in the issue, then inspect the published ROCm/hipblas image and /entrypoint.sh using the reproduction commands. Verify the four environment variables, NVIDIA visibility, and reported ROCm version; done means the documentation accurately describes what the image sets and what users must configure.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
74/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.