Vengineerの妄想

人生を妄想しています。

Versal AI Engine を SYCL で使う!

はじめに

Xilinx Versal AI Engine については、このブログにも2021年7月5日に書きました

vengineer.hatenablog.com

今日は、そのAI Engine を SYCL (OpenCLC++からラクチンに使えると言っているもの)にてプログラミングするというお話です。

SYCL とは?

SYCL に関しては、このブログでも何度か取り上げています。こんな感じに

vengineer.hatenablog.com

下記のように、SYCLをサポートしているIntel DPC++ Compiler本のPDF版は無償なので、ダウンロードして読むのもいいでしょう!

vengineer.hatenablog.com

Xilix Versal AI Engine で SYCL

元ネタのスライドは、Porting SYCL with oneAPI DPC++ to Xilinx FPGA & Versal ACAP CGRA

講演ビデオもありました => これ

全体像の部分のスライドを説明のために引用します。これによると、AI Engine部分は左のtriSYCL ACAP++ libXaiengine2 なるもののパスになるっぽいですね。

f:id:Vengineer:20210923094412p:plain

その実態は、こちら。

github.com

これについては、2020年5月30日に、XilinxのSYCL (triSYCL) と ACAP++ というタイトルで書いていました。

おわりに

Xilinx Versal の AI Engine を Vitis ではなく、SYCLでプログラミングできるようになっているということでした。 とはいっても、性能を出すには、Xilinx ACAP SYCL extensions なるものを付かないといけないので、他のデバイスからのポーティングはかなりつらいと思います。