使用指针进行加载和存储 - 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;
	......
}

窗口结构负责管理用于跟踪缓冲器类型(乒/乓)的缓冲器锁定,这可添加到周期计数中。当加载/存储采用无序方式(分散聚集)时,尤其如此。使用指针有助于减少加载和存储所需的周期计数。

注释: 如果使用指针来加载和存储数据,那么设计师负责避免发生界外存储器访问。