はじめに
AMD Ryzen AI 対応のCPUが出てきたら、どんな感じに使えばいいのかを知りたくて、なんとなく、AMD の github を覗いてみたら、アップされていた
ONNX Runtime として実装されているっぽい
上記のgithub のページの最後に、
Run your own models with ONNXRuntime on Ryzen AI
とあり、ONNXRuntime Vitis-AI EP に飛ぶ
Vitis AI Execution Provider
ONNX では、backend を Execution Provider として実装することになっている。Ryzen AI では、Vitis AI Execution Provider を使うことになるという。
利用できる環境は、下記の通り。Ryzen AI は、Windowsのみっぽい。
Ryzen AI ONNX Runtime Package をダウンロードして使うようです。解凍すると、下記のようなファイルができます。1x4.clbin がIPU Execution Provider execution fileということのようです。
このIPUは、AMD IPU driver のようで、>= 10.105.5.38 が必要のようです。1x4.clbin を ONNX の onnxruntime\bin にコピーして使うようです。
に、onnxruntime_vitisai_ep_stub.cc があります。上記のパッケージをインストールしないと、この stub ファイルが呼ばれるっぽいです。
この関数は、vitisai_execution_provider.cc のここで呼び出されています。
追記)、2023.11.13
voe-3.5 になり、5x4.xclbin が追加されていました。通常は、1x4.xclbin を使って、大きなモデルを使うときは 5x4.xclbin を使うようです。
おわりに
Ryzen AIにて、自分でプログラムするのって出来たら嬉しいな?と思っていましたが、現状では、残念ながら、ONNX Runtime としか使えないようです。
追記)、2023.06.16