Start、offset - 2024.2 日本語 - XD100

Vitis チュートリアル: AI エンジン開発 (XD100)

Document ID
XD100
Release Date
2024-12-06
Version
2024.2 日本語

これに続くすべての組み込み関数では、入力ベクターが 2 つのパラメーターで制御されるデータ シャッフリング関数を通過します。

  • 開始

  • オフセット

fpmul 関数の例で見てみます。

vector<float,8> fpmul(vector<float,32> xbuf, int xstart, unsigned int xoffs, vector<float,8> zbuf, int zstart, unsigned int zoffs)

  • xbuf、xstart、xoffs: 最初のバッファーとシャッフリング パラメーター

  • zbuf、zstart、zoffs: 2 つ目のバッファーおよびシャッフリング パラメーター

  • Start: バッファーの全レーンの開始オフセット

  • Offset: 追加でレーンに依存するバッファーのオフセット定義には、1 レーンあたり 4 ビットかかります。

次に例を示します。

vector<float,8> ret = fpmul(xbuf,2,0x210FEDCB,zbuf,7,0x76543210)

for (i = 0 ; i < 8 ; i++)
  ret[i] =  xbuf[xstart + xoffs[i]] * zbuf[zstart + zoffs[i]]

値はすべて 16 進数です。

ret
インデックス
(レーン)
xbuf
開始
xbuf
オフセット
最終的な
xbuf
インデックス
zbuf
開始
zbuf
オフセット
最終的な
zbuf
インデックス
0 2 B D 7 0 7
1 2 C E 7 1 8
2 2 D F 7 2 9
3 2 E 10 7 3 A
4 2 F 11 7 4 B
5 2 0 2 7 5 C
6 2 1 3 7 6 D
7 2 2 4 7 7 E