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

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

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

次のグラフ制御 API は、グラフを無限に実行する方法を示します。

#include "project.h"
simpleGraph mygraph;

int main(void) {
  mygraph.init();  // load the graph
  mygraph.run();   // start the graph and return to main
  ......
  return 0;
}

グラフ オブジェクト mygraph は、simpleGraph という定義済みのグラフ クラスを使用して宣言されます。その後、main アプリケーションでこのグラフ オブジェクトが初期化および実行されます。init() メソッドは、事前に指定された AI エンジン タイルの AI エンジン アレイにグラフを読み込みます。これには、各 AI エンジンの ELF バイナリの読み込み、配線用のストリーム スイッチの設定、I/O の DMA の設定が含まれます。プロセッサはディスエーブル ステートに保持されます。run() メソッドは、プロセッサをイネーブルにしてグラフの実行を開始します。run() メソッドに実行の反復回数が指定されていないので、このグラフは無限に実行されます。

graph::run() を引数なしで実行すると、AI エンジン カーネルをあらかじめ指定された反復回数 (引数なしでグラフを実行した場合、デフォルトで無限大となる) だけ実行します。グラフを有限の反復回数、たとえば mygraph.run(3);mygraph.run() で実行する場合、2 回目の run 呼び出しも 3 回実行されます。前の反復回数の設定にかかわらずグラフを無限に実行するには、graph::run(-1) を使用します。