ポインターを使用したロードおよびストア - 2023.2 日本語

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

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

カーネル関数プロトタイプでは、入力および出力としてウィンドウ API を使用する必要があります。カーネル コードでは、データの読み出し/書き込みに直接ポインター参照を使用できます。

void func(input_window_int16 *w_input, 
			output_window_cint16 *w_output){
	.....
	v16int16 *ptr_in  = (v16int16 *)w_input->ptr;
	v8cint16 *ptr_out = (v8cint16 *)w_output->ptr;
	......
}

ウィンドウ構造によりバッファー ロック トラッキング バッファー タイプ (ping/pong) が管理され、これによりサイクル数が増加する可能性があります。これは特に、ロード/ストアが順不同 (スキャッター ギャザー) の場合に言えます。ポインターを使用すると、ロードとストアに必要なサイクル数を削減できる可能性があります。

注記: ポインターを使用してデータをロードおよびストアする場合、範囲外のメモリ アクセスを回避するのは設計者の責任です。