0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Red Hat AI Inference Serverは Radeon 890M fx1150(iGPU)では動かせない

0
Posted at

Red Hat AI Inference Server(RHAIIS) 3.0のGetting Startedを、Radeon 890M搭載マシンで試した記録です。

前提条件

RHAIISのGetting Startedドキュメントに記載されている前提条件を確認します。

AMD GPUを使用するLinuxサーバーにアクセスでき、root権限がある

$ id
uid=1000(hirotaka) gid=1000(hirotaka) groups=...,27(sudo),...,44(video),110(render),...

sudoグループに所属しており、root権限があります。

PodmanまたはDockerがインストールされている

$ podman --version
podman version 4.9.3

ROCmソフトウェアがインストールされている

$ rocminfo | grep -E '(Name:|gfx)' | head -6
  Name:                    AMD Ryzen AI 9 HX 370 w/ Radeon 890M
  Marketing Name:          AMD Ryzen AI 9 HX 370 w/ Radeon 890M                                                                                                                                                             
  Vendor Name:             CPU
  Name:                    gfx1150
  Marketing Name:          AMD Radeon 890M Graphics
  Vendor Name:             AMD

ROCm 10.0.0です。gfx1150がネイティブ認識されています。

ROCmコンテナーを実行できることを確認している

https://rocm.docs.amd.com/projects/install-on-linux/en/docs-6.4.0/how-to/docker.html に沿って、コンテナからGPUにアクセスできることを確認します。

Podmanのrootlessコンテナで実行するには/dev/kfdへのACL追加と--userns=keep-idが必要です。詳細は別記事を参照してください。

$ podman run --rm \
  --userns=keep-id \
  --device /dev/kfd --device /dev/dri \
  --security-opt=label=disable \
  docker.io/rocm/rocm-terminal:latest \
  rocminfo 2>&1 | grep -E '(Name:|gfx)' | head -6
  Name:                    AMD Ryzen AI 9 HX 370 w/ Radeon 890M
  Marketing Name:          AMD Ryzen AI 9 HX 370 w/ Radeon 890M
  Vendor Name:             CPU
  Name:                    gfx1150
  Marketing Name:          AMD Radeon Graphics
  Vendor Name:             AMD

コンテナ内からGPUが認識できています。

Red Hatレジストリへのログイン

RHAIISのコンテナイメージはregistry.redhat.ioから取得します。事前にログインが必要です。

https://access.redhat.com/terms-based-registry/ でサービスアカウントを作成し、そのUsername/Tokenでログインします。Red Hatアカウントのパスワードではなくトークンを使う点に注意。

$ podman login registry.redhat.io
Username: 11009103|htagawa
Password: 
Login Succeeded!

モデルサーバーイメージの取得

Getting Startedの手順に沿って進めます。

1. インフラストラクチャーの正しいイメージを特定する

AMD ROCm環境では以下のイメージを使用します。

registry.redhat.io/rhaiis/vllm-rocm-rhel9

利用可能なタグはRed Hatコンテナカタログで確認できます。記事執筆時点の最新は3.3です。

タグ一覧はCLIでも確認できます。

$ podman search registry.redhat.io/rhaiis/vllm-rocm-rhel9 --list-tags

2. サーバーホストでレジストリにログインする

前提条件のステップで既にログイン済みです。

$ podman login registry.redhat.io
Authenticating with existing credentials for registry.redhat.io
Existing credentials are valid. Already logged in to registry.redhat.io

3. モデルサーバーイメージをプルする

$ podman pull registry.redhat.io/rhaiis/vllm-rocm-rhel9:3.3.7-1789504371

20.8GBのイメージがダウンロードされます。

$ podman image ls | grep rhel
registry.redhat.io/rhaiis/vllm-rocm-rhel9  3.3.7-1789504371  6fbceb39e3e9  4 days ago  20.8 GB

4. SELinuxの設定

Ubuntu 24.04ではSELinuxは無効(未インストール)のため、スキップします。

$ getenforce
bash: getenforce: コマンドが見つかりません

5. ボリュームを作成してコンテナーにマウントする

モデルキャッシュ用のディレクトリを作成し、コンテナーからアクセスできるよう権限を設定します。

$ mkdir -p ~/rhaiis-cache
$ chmod g+rwX ~/rhaiis-cache

6. Hugging Faceトークンを設定する

ゲート付きモデルをダウンロードするため、Hugging Faceのアクセストークンを環境変数に設定します。

$ export HF_TOKEN=hf_xxxxx

7. コンテナーからGPUにアクセスできることを確認する

RHAIISコンテナ(RHEL9ベース)はデフォルトユーザーがUID 1001のため、rootless Podmanで/dev/kfdにアクセスするには--userns=keep-id --user 1000でホストユーザーのUIDに合わせる必要があります。

$ podman run -ti --rm \
  --userns=keep-id \
  --user 1000 \
  --security-opt=label=disable \
  --device=/dev/kfd --device=/dev/dri \
  --entrypoint="" \
  registry.redhat.io/rhaiis/vllm-rocm-rhel9:3.3.7-1789504371 \
  amd-smi static -a
GPU: 0
    ASIC:
        MARKET_NAME: AMD Radeon Graphics
        VENDOR_ID: 0x1002
        VENDOR_NAME: Advanced Micro Devices Inc. [AMD/ATI]
        SUBVENDOR_ID: 0x1f4c
        DEVICE_ID: 0x150e
        SUBSYSTEM_ID: 0xb020
        REV_ID: 0xc1
        ASIC_SERIAL: 0x0000000000000000
        OAM_ID: N/A
        NUM_COMPUTE_UNITS: 16
        TARGET_GRAPHICS_VERSION: gfx1150

gfx1150が認識されています。

7.2 コンテナーを起動する

$ podman run --rm -it \
  --userns=keep-id \
  --user 1000 \
  --security-opt=label=disable \
  --device=/dev/kfd --device=/dev/dri \
  --shm-size=4GB \
  -p 8000:8000 \
  --env "HUGGING_FACE_HUB_TOKEN=$HF_TOKEN" \
  --env "HF_HUB_OFFLINE=0" \
  --env "VLLM_NO_USAGE_STATS=1" \
  -v ./rhaiis-cache:/opt/app-root/src/.cache \
  registry.redhat.io/rhaiis/vllm-rocm-rhel9:3.3.7-1789504371 \
  --model RedHatAI/Llama-3.2-1B-Instruct-FP8 \
  --tensor-parallel-size 1

結果: 起動失敗。AITERライブラリがgfx1150を認識できずエラーになります。

KeyError: "Unknown GPU architecture: gfx1150. Supported architectures:
['native', 'gfx90a', 'gfx908', 'gfx940', 'gfx941', 'gfx942', 'gfx945', 'gfx1100', 'gfx950']"

HSA_OVERRIDE_GFX_VERSION=11.0.0でgfx1100に偽装するとAITERのチェックは通過しますが、HIPカーネルがgfx1100向けにコンパイルされているため、gfx1150では実行できません。

torch.AcceleratorError: HIP error: invalid device function

結論

RHAIISのROCmイメージ(vllm-rocm-rhel9)はMI系データセンターGPU(MI210, MI300X等)向けにビルドされており、Radeon 890M(gfx1150, RDNA 3.5)では動作しません。GPU認識やコンテナ起動まではできますが、推論実行に必要なHIPカーネルがgfx1150に対応していないため、モデルサーブは不可能です。

Radeon 890Mでvllmを使う場合は、gfx1150対応のコミュニティイメージ(rocm/vllm:rocm7.13.0_gfx1150_ubuntu24.04_py3.13_pytorch_2.10.0_vllm_0.19.1)を使用してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?