カスケード ストリームを使用した 1 Gsps インプリメンテーション - 2023.2 日本語

AI エンジン カーネルおよびグラフ プログラミング ガイド (UG1079)

Document ID
UG1079
Release Date
2023-12-04
Version
2023.2 日本語

AI エンジン ベクター ユニットでは、cint16 積和 cint16 型で 1 サイクルごとに 8 つの MAC がサポートされます。mul4/mac4 組み込み関数の 4 レーン インプリメンテーションを使用する場合、各レーンに 2 つの複素演算があります。

各出力に 32 個の複素 MAC が必要であるため、4 つの出力を計算するため 16 mac4() が必要です。これは、4 つの出力を計算するのに、AI エンジンを使用して 16 サイクル必要であるということです。AI エンジンが 1 GHz で動作する場合、サンプル レートは次のようになります。

4 Gsps/16 = 0.25 Gsps = 250 Msps

これにより、AI エンジンの計算バウンドが計算されます。サンプル レートが満たされるかどうかを判断するには、メモリ バウンドも考慮する必要があります。データ転送に 1 つのストリーム入力と 1 つのストリーム出力のみが使用され、係数が AI エンジンの内部メモリに格納されているとします。AI エンジンのストリーム インターフェイスでは、1 サイクルごとに 32 ビットがサポートされます。各サイクルでデータの 1 サンプルを転送できます。データ転送の面から見ると、サンプル データは次のようになります。

1 サンプル/サイクル × 1 GHz = 1 Gsps

これは、250 Msps の計算バインドよりも大きいです。そのため、AI エンジン インプリメンテーションは 250 Msps で動作します。

図 1. 1 つの AI エンジン FIR フィルターの実現

計算に基づけば、ストリーム入力と出力ストリーム インターフェイスで 1 Gsps を達成可能です。シングル カーネル インプリメンテーションの MAC 演算を 4 つのカーネルに分割すると、4 × 250 Msps = 1 GSP の計算スループットを達成できます。これらの 4 つのカーネルは、カスケード ストリーミングにより接続されます。そのため、AI エンジンの計算バウンドが AI エンジン インターフェイスのスループットに一致します。

図 2. カスケード接続した 4 つのカーネルを使用した 1 Gsps インプリメンテーション