(ryzen-ai-1.2.0) C:\Program Files\RyzenAI\1.2.0\quicktest>python quicktest.py
Traceback (most recent call last):
File "C:\Program Files\RyzenAI\1.2.0\quicktest\quicktest.py", line 44, in <module>
apu_type = get_apu_info()
File "C:\Program Files\RyzenAI\1.2.0\quicktest\quicktest.py", line 16, in get_apu_info
if 'PCI\\VEN_1022&DEV_1502&REV_00' in stdout.decode(): apu_type = 'PHX/HPT'
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 14: invalid start byte
前回は文字コード関係のエラーが発生してできなくなっていたので、その解決方法とQuicktestを動作させるまでを記録する。
Running LLM on AMD NPU Hardware – Hackster.io
同じエラーが発生していたかたが解決までしていた記事を見つけたので実行してみる。
quicktest.pyを以下のように変更する
stdout_decode = stdout.decode("cp932") #追加
#追加した変数に書き換える
apu_type = ''
if 'PCI\\VEN_1022&DEV_1502&REV_00' in stdout_decode: apu_type = 'PHX/HPT'
if 'PCI\\VEN_1022&DEV_17F0&REV_00' in stdout_decode: apu_type = 'STX'
if 'PCI\\VEN_1022&DEV_17F0&REV_10' in stdout_decode: apu_type = 'STX'
if 'PCI\\VEN_1022&DEV_17F0&REV_11' in stdout_decode: apu_type = 'STX'
quicktestを実行
(ryzen-ai-1.2.0) C:\Program Files\RyzenAI\1.2.0\quicktest>python quicktest.py
あらたなエラーが発生した。

NPUドライバかanaconda環境をインストールするときに正しく実行できなかったかもしれないので、
ドライバとRyzenAIソフトウェアを削除して再度インストールした。
インストール後、quicktestを実行するとテストが完了した。
(ryzen-ai-1.2.0) C:\Program Files\RyzenAI\1.2.0\quicktest>python quicktest.py
Setting environment for PHX/HPT
XLNX_VART_FIRMWARE= C:\Program Files\RyzenAI\1.2.0\voe-4.0-win_amd64\xclbins\phoenix\1x4.xclbin
NUM_OF_DPU_RUNNERS= 1
XLNX_TARGET_NAME= AMD_AIE2_Nx4_Overlay
[Vitis AI EP] No. of Operators : CPU 2 NPU 398
[Vitis AI EP] No. of Subgraphs : CPU 1 NPU 1 Actually running on NPU 1
2024-11-02 11:21:10.7746003 [W:onnxruntime:, session_state.cc:1166 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf.
2024-11-02 11:21:10.7798096 [W:onnxruntime:, session_state.cc:1168 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments.
Test Passed
RyzenAI1.2になってからLLMに対応していたりするので、Llamaあたりで動作確認してみる。
LLMを動かした記事はこちら