概要

AI エンジンの概要 - DSP デザイン プロセス

AMD の Versal™ AI エンジンをターゲットとする高性能 DSP 機能の設計には、AMD Vitis™ 開発ツールを使用する方法と、MathWorks Simulink® ツールのシミュレーションやグラフィック機能を活用する Vitis Model Composer フローを使用する方法があります。

いずれの場合も、DSP アプリケーションを FPGA または AI エンジンで実行、あるいは FPGA ロジックと AI エンジンの組み合わせで実行するために、関数に適切に割り当てることが非常に重要です。この場合、システム全体だけでなく、各デバイスの能力も理解しておく必要があります。

一般的に、計算負荷の高い関数は AI エンジンに実装し、データの移動や再配置を目的とする関数は FPGA に実装します。

次の例で示すように、複雑なフィルタリングとフーリエ変換は、AI エンジン アレイに実装することが推奨されています。

Alveo U50 イメージ

関数が AI エンジンで効果的に実行できることが確認できると、次のオプションのいずれかを使用して AI エンジンに実装できます。

注記: 次のリストから複数のオプションを組み合わせたハイブリッド アプローチも可能です。

オプション 1

Vitis DSP ライブラリ関数呼び出し



dsplib::fft::dit1ch::fft_ifft_dit_1ch

 

  • 最も簡単に使用できる
  • パラメーター指定可能
  • 最も速く開発できる

オプション 2

AI エンジンの API を使用したベクトル化プログラミング


aie::vector A0 
aie::vector A1

 

  • カスタマイズ可能
  • より速く開発できる

オプション 3

イントリンシクスを使用したベクトル化プログラミング


Acc0 = mac16(acc0, Bbuff, 0, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210);​

Acc0 = mac16(acc0, Bbuff, 32, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210); 

  • 完全な低レベルのカスタマイゼーションが可能
  • 開発に最も時間がかかる

DSP 向けの AI エンジンを初めて使用する場合、Vitis DSP ライブラリ関数 (C ベース) または Vitis Model Composer (モデル ベース) を使用する方法から始めることを推奨しています。手動コーディングは、より最適化したインプリメンテーションが可能になることがありますが、上記の推奨方法は、DSP 向けの AI エンジンを最速で適用でき、高性能を簡単に実現できます。

その後、異なる AI エンジン関数を連携させるため、graph C コードという C++ コードを記述して、複数の AI エンジン タイルからなるネットワークを構築します。

Vitis Model Composer を使用すれば、異なる AI エンジンの関数をグラフィカルに接続できます。Vitis Model Composer ではこのグラフィック表示をボタン操作でグラフ C コードに変換できます。デザインの検証には、MathWorks Simulink 環境のシミュレーション機能を利用することも可能です。

Vitis Model Composer を使用する Versal AI エンジン開発の詳細は、Vitis Model Composer を使用する AI エンジン開発ページをご覧ください。

AI エンジン ツールのライセンス取得

コンパイラとシミュレータ

AI エンジン コンパイラおよびシミュレータ ツールは、AMD Vitis™ ソフトウェア インストーラーに含まれていますが、これらのツールを使用するにはライセンス (無償) が必要です。このライセンスは、製品ライセンス ページで取得できます。

詳細情報を入力し、AI エンジン ツール ライセンス オプションを選択してください。

サンプル デザイン

AI エンジン向けの多相チャネライザー デザイン

多相チャネライザーは、デジタル信号処理に基づく効率的なアプローチを使用して、単一のデータ ストリームで伝送される周波数分割多重 (FDM) チャネルのセットを同時にダウンコンバートします。チャネライザーの使用は、多くの無線通信、レーダー、宇宙/防衛、および医療用画像システムで広く普及されています。このチュートリアルでは、AMD Versal™ アダプティブ SoC デバイスの AI エンジンとプログラマブル ロジック (PL) リソースを組み合わせて、2 つのチャネライザー デザインをインプリメントします。