fpmul - 2024.2 日本語 - XD100

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

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

単純な浮動小数点数乗算器には、float および cfloat ベクター データ型が混在したりしなかったりする、さまざまな種類があります。cfloat が 2 つの場合、組み込み関数が、スケジュールする必要のある 2 つのマイクロコード命令になります。最初のバッファーは 512 ビットまたは 1024 ビット長 (vector<float,32>, vector<float,16>, vector<cfloat,16>, vector<cfloat,8>) のずれかになり、2 つ目のバッファーは常に 256 ビット長 (vector<float,8>, vector<cfloat,4>) になります。どの組み合わせでも使用できます。

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

乗算結果を戻します。

パラメーター 説明
xbuf 最初の乗算入力バッファー。
xstart X の全レーンの開始オフセット。
xoffs レーンあたり 4 ビット: X の追加のレーン依存オフセット。
zbuf 2 つ目の乗算入力バッファー。
zstart Z の全レーンの開始オフセット。コンパイル時の定数である必要があります。
zoffs レーンあたり 4 ビット: Z の追加のレーン依存オフセット。
for (i = 0 ; i < 8 ; i++)
  ret[i] =  xbuf[xstart + xoffs[i]] * zbuf[zstart + zoffs[i]]