Unsloth Desktopでチャットを試したけど、レスポンスが遅かったのでClaudeに調査してもらった。
結果
- 推論速度 44 秒 → 4 秒
- スループット 6.0 tok/s → 67.5 tok/s


実機環境
| 項目 | 値 |
|---|---|
| マシン | MINISFORUM AI X1 Pro-370 |
| CPU | AMD Ryzen AI 9 HX 370 (12C/24T, 最大 5157 MHz) |
| iGPU | AMD Radeon 890M Graphics (RDNA 3.5, gfx1150, PCI ID 1002:150e) |
| CU 数 | 16 CU, 2 SIMDs/CU, Wavefront Size 32 |
| NPU | RyzenAI-npu4 (aie2p) |
| メモリ | 91 GB DDR5(CPU/GPU 共有、帯域 128 GB/s) |
| OS | Ubuntu 24.04.4 LTS (Noble Numbat) |
| 初期カーネル | 6.8.0-117-generic |
| 最終カーネル | 7.2.5-070205-generic |
作業ログ
1. 初期状態の確認
$ lspci | grep -i display c5:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 150e (rev c1)
PCIデバイスとしては見えているが、DRMデバイス(/dev/dri/card*, /dev/dri/renderD*)が存在しない状態。
さらにdmesg を確認すると、amdgpuドライバがgfx1150のprobeに失敗して -22(EINVAL)エラーを出していた。
$ dmesg | grep -i amdgpu amdgpu: probe of 0000:c5:00.0 failed with error -22
もったいないことに、iGPUが使われていないらしい。
2. カーネルのアップグレード
初期カーネルのamdgpuドライバはgfx1150(Radeon 890M)をサポートしていない可能性があったため、まずカーネルをアップグレードした。
Ubuntu Mainline Kernel PPAからカーネル7.2.5をインストール。
$ sudo dpkg -i linux-headers-7.2.5-070205_7.2.5-070205.202609111348_all.deb \
linux-headers-7.2.5-070205-generic_7.2.5-070205.202609111348_amd64.deb \
linux-image-unsigned-7.2.5-070205-generic_7.2.5-070205.202609111348_amd64.deb \
linux-modules-7.2.5-070205-generic_7.2.5-070205.202609111348_amd64.deb
再起動後も依然として -22 エラーが出ていた。
カーネルは新しくなったが、別の原因でamdgpuドライバのprobeが失敗している。
3. nomodesetの除去
原因を調べると、GRUBに nomodeset カーネルパラメータが設定されていた。
これがamdgpuドライバのロードを妨げていた。
この設定は、以前に、再起動時に黒い画面でフリーズするのを避けるために設定していた。
/etc/default/grub から nomodeset を削除。
$ sudo vi /etc/default/grub
変更前:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
変更後:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
$ sudo update-grub
再起動後、amdgpuドライバがprobeに成功し、DRMデバイスが出現した!
$ ls -la /dev/dri/ crw-rw----+ 1 root video 226, 1 ... card1 crw-rw----+ 1 root render 226, 128 ... renderD128
4. ROCm 10.0.0のインストール
amdgpu-installを使い、ROCmユースケースでインストール。
カーネル7.2.5に同梱のamdgpuドライバをそのまま使用するため、DKMSはスキップ。
$ sudo amdgpu-install --usecase=rocm --no-dkms
インストールされたパッケージ:
$ dpkg -l | grep amdrocm | wc -l 235 $ apt list --installed 2>/dev/null | grep amdgpu-install amdgpu-install/noble,noble,noble,noble,now 31.50.0.0.31500000-2390945.24.04 all [インストール済み]
ROCmのバージョン確認:
$ /opt/rocm/bin/hipconfig --full HIP version: 7.15.26333-0000000 ==hipconfig HIP_PATH :/opt/rocm/core-10.0 ROCM_PATH :/opt/rocm/core-10.0 HIP_COMPILER :clang HIP_PLATFORM :amd HIP_RUNTIME :rocclr
gfx1150向けのBLASライブラリもインストールされている:
$ dpkg -l | grep amdrocm-blas10.0-gfx1150 ii amdrocm-blas10.0-gfx1150 10.0.0~pre4-32424980240 amd64 AMD library for BLAS in ROCm
5. ユーザーをrender/videoグループに追加
ROCmがGPUデバイスにアクセスするには、ユーザーが render および video グループに所属している必要がある。
$ sudo usermod -aG render,video hirotaka
確認(再起動後に有効):
$ id hirotaka uid=1000(hirotaka) gid=1000(hirotaka) groups=...,44(video),...,110(render),...
6. GTTサイズの拡大
APUではGPUが使用するGTT(Graphics Translation Table)メモリがデフォルトでは小さい。
LLMのモデルを載せるために64 GBに拡大。
$ sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.gttsize=65536"
$ sudo update-grub
反映確認(再起動後):
$ cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-7.2.5-070205-generic root=UUID=... ro quiet splash amdgpu.gttsize=65536 vt.handoff=7
最終的なカーネル:
$ uname -r 7.2.5-070205-generic $ uname -v #202609111348 SMP PREEMPT_DYNAMIC Fri Sep 11 14:13:33 UTC 2026
7. 環境変数の設定
~/.bashrc に以下を追加:
export PATH=$PATH:/opt/rocm/bin
export LD_LIBRARY_PATH=/opt/rocm/lib:${LD_LIBRARY_PATH:-}
export HSA_ENABLE_SDMA=0
export GPU_MAX_HW_QUEUES=4
export ROCBLAS_USE_HIPBLASLT=1
export HIP_FORCE_DEV_KERNARG=1
各環境変数の役割:
| 変数 | 値 | 目的 |
|---|---|---|
HSA_ENABLE_SDMA |
0 |
APU の UMAアーキテクチャで発生する SDMA DMAタイムアウトを回避。iGPU 環境では必須 |
GPU_MAX_HW_QUEUES |
4 |
高負荷時のハングを防止 |
ROCBLAS_USE_HIPBLASLT |
1 |
hipBLASLt を使用しスループットを約 15% 改善 |
HIP_FORCE_DEV_KERNARG |
1 |
カーネル引数をデバイスメモリ側に配置しレイテンシを削減 |
8. 再起動と動作確認
再起動後、以下を順に確認。
rocminfo
$ rocminfo
ROCk module is loaded
=====================
HSA System Attributes
=====================
Runtime Version: 1.21
Runtime Ext Version: 1.30
...
==========
HSA Agents
==========
*******
Agent 1
*******
Name: AMD Ryzen AI 9 HX 370 w/ Radeon 890M
Device Type: CPU
Compute Unit: 24
*******
Agent 2
*******
Name: gfx1150
Marketing Name: AMD Radeon 890M Graphics
Vendor Name: AMD
Feature: KERNEL_DISPATCH
Device Type: GPU
Compute Unit: 16
SIMDs per CU: 2
Shader Engines: 1
Wavefront Size: 32
Max Clock Freq. (MHz): 2900
Chip ID: 5390(0x150e)
ASIC Revision: 4(0x4)
Memory Properties: APU
Fast F16 Operation: TRUE
ISA Info:
ISA 1
Name: amdgcn-amd-amdhsa--gfx1150
ISA 2
Name: amdgcn-amd-amdhsa--gfx11-generic
*******
Agent 3
*******
Name: aie2p
Marketing Name: RyzenAI-npu4
Device Type: DSP
GPU Agentとして gfx1150 が認識されている。
NPU(RyzenAI-npu4)も Agent 3 として見えている。
rocm-smi
$ rocm-smi ======================================== ROCm System Management Interface ======================================== ================================================== Concise Info ================================================== Device Node IDs Temp Power Partitions SCLK MCLK Fan Perf PwrCap VRAM% GPU% ================================================================================================================== 0 1 0x150e, 58458 38.0°C 6.847W N/A, N/A, 0 N/A N/A 0% auto N/A 42% 2% ==================================================================================================================
amd-smi
$ amd-smi monitor -putm GPU XCP POWER PWR_CAP GPU_T MEM_T GFX_CLK GFX% MEM% MEM_CLOCK 0 0 6 W N/A 37 °C N/A 725 MHz 1 % N/A 1475 MHz
watch -n 1 amd-smi monitor -putm


各種コマンドでGPUが動いていることが確認できた。
NVIDIA GPUがなくてもやっていけそう。