入力ストリームの実行および前進 - 2023.2 日本語

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

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

AI エンジン 操作

次の操作は、指定の入力ストリームからデータを読み出し、そのストリームを AI エンジン 上で前進させます。AI エンジンには 2 つの入力ストリーム ポートがあるので、物理的なポートの割り当ては AI エンジン コンパイラにより自動的に実行され、ストリーム データ構造の一部として指定されます。ストリームからのデータ値は、1 つずつまたはベクターとして読み出されます。ベクターとして読み出す場合、すべての値が読み出されるまで、ストリーム操作は停止します。データのグループ化は、基になる 1 サイクルの 32 ビット ストリーム操作または 4 サイクルの 128 ビット幅ストリーム操作に基づきます。カスケード接続では、すべてのアキュムレータ値が並列に読み出されます。

int32 readincr(input_stream<int32> *w);
uint32 readincr(input_stream<uint32> *w);
cint16 readincr(input_stream<cint16> *w);
float readincr(input_stream<float> *w);
cfloat readincr(input_stream<cfloat> *w);

aie::vector<int8,16> readincr_v<16>(input_stream<int8> *w);
aie::vector<uint8,16> readincr_v<16>(input_stream<uint8> *w);
aie::vector<int16,8> readincr_v<8>(input_stream<int16> *w);
aie::vector<cint16,4> readincr_v<4>(input_stream<cint16> *w);
aie::vector<int32,4> readincr_v<4>(input_stream<int32> *w);
aie::vector<cint32,2> readincr_v<2>(input_stream<cint32> *w);
aie::vector<float,4> readincr_v<4>(input_stream<float> *w);

aie::accum<acc48,8> readincr_v<8>(input_stream<acc48> *w);
aie::accum<cacc48,4> readincr_v<4>(input_stream<cacc48> *w);
aie::accum<acc80,4> readincr_v<4>(input_stream<acc80> * str);
aie::accum<cacc80,2> readincr_v<2>(input_stream<cacc80> * str);
aie::accum<accfloat,8> readincr_v<8>(input_stream<accfloat> * str);
aie::accum<caccfloat,8> readincr_v<4>(input_stream<caccfloat> * str);
注記: ストリームの終了を示すために、次に示すように readincr API で TLAST 引数を使用できます。
int32 readincr(input_stream<int32> *w, bool &tlast);