AI エンジンのスループットおよびレイテンシ - 2023.2 日本語

Versal アダプティブ SoC システムおよびソリューション プランニング設計手法ガイド (UG1504)

Document ID
UG1504
Release Date
2023-11-15
Version
2023.2 日本語

ほとんどのアプリケーションでは、高スループットと低レイテンシの両立が要求されます。Versal アダプティブ SoC は、特に AI エンジンを使用することでこの目標を達成します。ただし、アプリケーションでは通常、高スループットと低レイテンシのいずれかがより優先され、その優先要件を満たすために何らかのトレードオフが必要となることがあります。

たとえば FIR フィルターの場合、AI エンジン タイル内のカスケード ストリームを使用し、演算を多数の AI エンジン タイルに分割することで、全体的なスループットを高めることができます。ただしこの場合、FIR の全体的なレイテンシが長くなることがあります。詳細は、簡単なフィルター チェーンの例を参照してください。

AI エンジン アレイに対するデータ入出力、および AI エンジン アレイ周辺のデータ移動は、たとえばカーネルに対してウィンドウ インターフェイスまたはストリーミング インターフェイスを使用したシステムのレイテンシに直接影響を与えます。AI エンジンはウィンドウ全体が利用可能になるのを待ってから演算を開始するため、ウィンドウ サイズによっては入力を取り込む際の遅延が増加することがあります。ストリーミング ソリューションを使用すると、データ受信と演算が並列に実行されます。高データ レートのデザインでは、ストリーミング インターフェイスが一般的です。ただし、ストリーミング用にデータの並べ替えとアライメントを実行する PL 機能を追加する必要があります。ウィンドウ ソリューションの場合は、ピンポン バッファーを使用することでレイテンシの増大を軽減できます。

PL と AI エンジン アレイ間の通信時、PL の動作が AI エンジンより低速な場合、システムのレイテンシが増大するため注意が必要です。この場合、アレイにデータを取り込むバスの幅を 32、64、または 128 ビットに拡大する必要があります。ただし、AI エンジン メモリおよびコアへの AXI4-Stream インターコネクトは 32 ビット幅のため、128 ビット バスを使用すると 4 サイクル必要となり、システム全体のレイテンシが増大します。

ヒント: -1 デバイスで AI エンジンの動作周波数が 1 GHz の場合、AI エンジン タイルへの入力に 64 ビット PLIO (500 MHz) を使用すると、帯域幅の使用率が最適となります。

PL でのデータ処理で、重要な機能を低レイテンシで実行する必要がある場合には、DSP エンジンと PL を検討してください。これにより、AI エンジン アレイとの間でデータ入出力の必要がなくなり、レイテンシの要件が厳しい場合にも対処できます。

また、AI エンジン アレイ内の機能やアプリケーションをどのように制御するのかについても考慮する必要があります。たとえば PS または PL を使用してカーネルの機能を実行時に制御する必要があるか、そのレイテンシ要件を PS で満たすことができるか、それとも PL コントローラーが必要か、などです。これらの点を、個々のアプリケーションに対して評価することが重要です。

詳細は、次の資料を参照してください。

  • 『Versal アダプティブ SoC AI エンジン アーキテクチャ マニュアル』 (AM009)
  • 『Versal アダプティブ SoC AIE -ML アーキテクチャ マニュアル』 (AM020)
  • 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076)
  • 『AI エンジン カーネルおよびグラフ プログラミング ガイド』 (UG1079)
  • 『AI エンジン - ML カーネルおよびグラフ プログラミング ガイド』 (UG1603)
  • Vitis チュートリアル: AI エンジン 開発
注記: NoC のレイテンシの詳細は、 『Versal Adaptive SoC Programmable Network on Chip and Integrated Memory Controller LogiCORE IP 製品ガイド』 (PG313)このセクションを参照してください。