グラフの有限実行 - 2023.2 日本語

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

Document ID
UG1079
Release Date
2023-12-04
Version
2023.2 日本語
グラフの有限実行では、グラフのステートは graph.run(n) の前後で保持されます。graph.run(n) の実行後、AI エンジンは再初期化されず、メモリの内容はクリアされません。次のコード例では、run を最初に 3 回の呼び出した後、AI エンジンの main() ラッパー コードのステートはそのまま保持され、カーネルは次の実行 (10 回の反復) が pong バッファーで開始します。ピンポン バッファー セレクターのステートはそのままになります。graph.end() は、グラフのステートはクリア (グローバル変数を再初期化) せず、ストリーム スイッチの設定もクリアしません。core-main を終了するだけです。グラフを再実行するには、PDI/XCLBIN を再度読み込む必要があります。
重要: graph.wait() の後、graph.end() の前に graph.run() または graph.resume() のいずれかが必要です。そうしないと、グラフが無限に待機状態になり、graph.end() が実行されません。
#include "project.h" 
simpleGraph mygraph; 

int main(void) { 
  mygraph.init(); 
  mygraph.run(3); // run 3 iterations 
  mygraph.wait(); // wait for 3 iterations to finish 
  mygraph.run(10); // run 10 iterations 
  mygraph.end(); // wait for 10 iterations to finish 
  return 0; 
}