Start、offset - Start、offset - 2025.2 日本語 - XD100

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

Document ID
XD100
Release Date
2025-12-05
Version
2025.2 日本語

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

  • Start

  • オフセット

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
Start

xbuf
オフセット

最終的な
xbuf
インデックス

zbuf
Start

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