asc.language.basic.set_load_data_boundary
asc.language.basic.set_load_data_boundary(boundary: int) → None
设置 load_3d 时 A1/B1 边界值。 如果 load_3d 指令在处理源操作数时,源操作数在 A1/B1 上的地址超出设置的边界,则会从 A1/B1 起始地址开始读取数据。
对应的 Ascend C 函数原型
__aicore__ inline void SetLoadDataBoundary(uint32_t boundaryValue)
参数说明
- boundary_value : 边界值。 load_3d_v1 指令:单位是 32 字节。 load_3d_v2 指令:单位是字节。
约束说明
- 用于 load_3d_v1 时, boundary_value 的最小值是 16 (单位: 32 字节);用于 load_3d_v2 时, boundary_value 的最小值是 1024 (单位:字节)。
- 如果使用 SetLoadDataBoundary 接口设置了边界值,配合 load_3d 指令使用时, load_3d 指令的 A1/B1 初始地址要在设置的边界内。
- 如果 boundary_value 设置为 0 ,则表示无边界,可使用整个 A1/B1 。
调用示例
import asc
asc.set_load_data_boundary(1024)