已合并
接口文档中添加头文件路径说明 #5633
JC1126创建于 9月3日
接口文档中添加头文件路径说明 #5633
已合并
JC1126创建于 9月3日
共 522 个文件变更+1044-4
@@ -26,7 +26,7 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29-头文件路径为:`"c_api/atomic/atomic.h"`。29+头文件路径为:`"c_api/atomic/datamove_atomic.h"`。
30 30 
31与[asc_set_atomic_add](asc_set_atomic_add.md)、[asc_set_atomic_max](asc_set_atomic_max.md)、[asc_set_atomic_min](asc_set_atomic_min.md)接口配合使用,用于在完成原子操作后关闭原子操作,避免影响后续搬运。31与[asc_set_atomic_add](asc_set_atomic_add.md)、[asc_set_atomic_max](asc_set_atomic_max.md)、[asc_set_atomic_min](asc_set_atomic_min.md)接口配合使用,用于在完成原子操作后关闭原子操作,避免影响后续搬运。
32 32 
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/datamove_atomic.h"`。
30+ 
29原子累加过程:将待搬运到GM的数据和GM上已有数据进行求和,然后将求和结果写入GM。本接口对后续目的地址为GM的数据搬运指令开启原子累加,不同产品支持的数据搬运通路请参考[约束说明](#约束说明)。31原子累加过程:将待搬运到GM的数据和GM上已有数据进行求和,然后将求和结果写入GM。本接口对后续目的地址为GM的数据搬运指令开启原子累加,不同产品支持的数据搬运通路请参考[约束说明](#约束说明)。
30 32 
31接口可选择不同的函数原型来设定不同的累加数据类型。33接口可选择不同的函数原型来设定不同的累加数据类型。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/datamove_atomic.h"`。
30+ 
29设置对后续的从Unified Buffer(UB)/L0C Buffer/L1 Buffer到GM的数据传输开启原子比较取大操作。数据类型支持int8_t、int16_t、half、bfloat16_t、int32_t、float。31设置对后续的从Unified Buffer(UB)/L0C Buffer/L1 Buffer到GM的数据传输开启原子比较取大操作。数据类型支持int8_t、int16_t、half、bfloat16_t、int32_t、float。
30开启原子比较取大后,后续执行搬运操作从UB/L0C Buffer/L1 Buffer到GM时,将待拷贝的内容和GM已有内容进行比较,将最大值写入GM。32开启原子比较取大后,后续执行搬运操作从UB/L0C Buffer/L1 Buffer到GM时,将待拷贝的内容和GM已有内容进行比较,将最大值写入GM。
31<!-- npu="950" id8 -->33<!-- npu="950" id8 -->
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/datamove_atomic.h"`。
30+ 
29设置对后续的从Unified Buffer(UB)/L0C Buffer/L1 Buffer到GM的数据传输开启原子比较取小操作。数据类型支持int8_t、int16_t、half、bfloat16_t、int32_t、float。31设置对后续的从Unified Buffer(UB)/L0C Buffer/L1 Buffer到GM的数据传输开启原子比较取小操作。数据类型支持int8_t、int16_t、half、bfloat16_t、int32_t、float。
30开启原子比较取小后,后续执行搬运操作从UB/L0C Buffer/L1 Buffer到GM时,将待拷贝的内容和GM已有内容进行比较,将最小值写入GM。32开启原子比较取小后,后续执行搬运操作从UB/L0C Buffer/L1 Buffer到GM时,将待拷贝的内容和GM已有内容进行比较,将最小值写入GM。
31<!-- npu="950" id8 -->33<!-- npu="950" id8 -->
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的单个元素执行原子加操作。读取该元素的旧值`old_value`,将`old_value + val`写回该地址,并返回`old_value`。整个读取、计算和写回过程为原子操作。31对Global Memory中`address`指向的单个元素执行原子加操作。读取该元素的旧值`old_value`,将`old_value + val`写回该地址,并返回`old_value`。整个读取、计算和写回过程为原子操作。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的单个元素执行原子按位与操作。读取该元素的旧值`old_value`,将`old_value & val`写回该地址,并返回`old_value`。整个读取、计算和写回过程为原子操作。31对Global Memory中`address`指向的单个元素执行原子按位与操作。读取该元素的旧值`old_value`,将`old_value & val`写回该地址,并返回`old_value`。整个读取、计算和写回过程为原子操作。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的单个元素执行原子比较交换操作。读取该元素的旧值`old_value`,按照以下公式计算并写回新值`new_value`:31对Global Memory中`address`指向的单个元素执行原子比较交换操作。读取该元素的旧值`old_value`,按照以下公式计算并写回新值`new_value`:
30 32 
31$$33$$
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的一个`uint32_t`或`uint64_t`元素执行原子递减操作。读取该元素的旧值`old_value`,按照以下公式计算并写回新值`new_value`:31对Global Memory中`address`指向的一个`uint32_t`或`uint64_t`元素执行原子递减操作。读取该元素的旧值`old_value`,按照以下公式计算并写回新值`new_value`:
30 32 
31$$33$$
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的单个元素执行原子交换操作。读取该元素的旧值`old_value`,将`val`写回该地址以替换旧值,并返回`old_value`。整个读取和写回过程为原子操作。31对Global Memory中`address`指向的单个元素执行原子交换操作。读取该元素的旧值`old_value`,将`val`写回该地址以替换旧值,并返回`old_value`。整个读取和写回过程为原子操作。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的一个`uint32_t`或`uint64_t`元素执行原子递增操作。读取该元素的旧值`old_value`,按照以下公式计算并写回新值`new_value`:31对Global Memory中`address`指向的一个`uint32_t`或`uint64_t`元素执行原子递增操作。读取该元素的旧值`old_value`,按照以下公式计算并写回新值`new_value`:
30 32 
31$$33$$
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的单个元素执行原子取大操作:读取该地址中的旧值`old_value`,比较`old_value`与输入标量值`val`,将较大值`new_value`写回该地址,并返回`old_value`。整个读取、比较和写回过程为原子操作。31对Global Memory中`address`指向的单个元素执行原子取大操作:读取该地址中的旧值`old_value`,比较`old_value`与输入标量值`val`,将较大值`new_value`写回该地址,并返回`old_value`。整个读取、比较和写回过程为原子操作。
30 32 
31计算公式如下:33计算公式如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的单个元素执行原子取小操作:读取该地址中的旧值`old_value`,比较`old_value`与输入标量值`val`,将较小值`new_value`写回该地址,并返回`old_value`。整个读取、比较和写回过程为原子操作。31对Global Memory中`address`指向的单个元素执行原子取小操作:读取该地址中的旧值`old_value`,比较`old_value`与输入标量值`val`,将较小值`new_value`写回该地址,并返回`old_value`。整个读取、比较和写回过程为原子操作。
30 32 
31计算公式如下:33计算公式如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的单个元素执行原子按位或操作:读取该地址中的旧值`old_value`,将`old_value`与输入标量值`val`进行按位或运算,将结果`new_value`写回该地址,并返回`old_value`。整个读取、计算和写回过程为原子操作。31对Global Memory中`address`指向的单个元素执行原子按位或操作:读取该地址中的旧值`old_value`,将`old_value`与输入标量值`val`进行按位或运算,将结果`new_value`写回该地址,并返回`old_value`。整个读取、计算和写回过程为原子操作。
30 32 
31计算公式如下:33计算公式如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的单个元素执行原子减操作:读取该地址中的旧值`old_value`,计算`old_value`与输入标量值`val`的差,将结果`new_value`写回该地址,并返回`old_value`。整个读取、计算和写回过程为原子操作。31对Global Memory中`address`指向的单个元素执行原子减操作:读取该地址中的旧值`old_value`,计算`old_value`与输入标量值`val`的差,将结果`new_value`写回该地址,并返回`old_value`。整个读取、计算和写回过程为原子操作。
30 32 
31计算公式如下:33计算公式如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29对Global Memory中`address`指向的单个元素执行原子按位异或操作:读取该地址中的旧值`old_value`,将`old_value`与输入标量值`val`进行按位异或运算,将结果`new_value`写回该地址,并返回`old_value`。整个读取、计算和写回过程为原子操作。31对Global Memory中`address`指向的单个元素执行原子按位异或操作:读取该地址中的旧值`old_value`,将`old_value`与输入标量值`val`进行按位异或运算,将结果`new_value`写回该地址,并返回`old_value`。整个读取、计算和写回过程为原子操作。
30 32 
31计算公式如下:33计算公式如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29获取原子操作启用位与原子操作类型的值,可用于校验[asc_set_store_atomic_config_v1](asc_set_store_atomic_config_v1.md)和[asc_set_store_atomic_config_v2(废弃)](../../deprecated_interface/asc_set_store_atomic_config_v2_deprecated.md)设置的原子操作启用位和原子操作类型的值是否符合预期。31获取原子操作启用位与原子操作类型的值,可用于校验[asc_set_store_atomic_config_v1](asc_set_store_atomic_config_v1.md)和[asc_set_store_atomic_config_v2(废弃)](../../deprecated_interface/asc_set_store_atomic_config_v2_deprecated.md)设置的原子操作启用位和原子操作类型的值是否符合预期。
30 32 
31<!-- npu="950" id8 -->33<!-- npu="950" id8 -->
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/atomic/scalar_atomic.h"`。
30+ 
29设置原子操作启用位与原子操作类型的值。31设置原子操作启用位与原子操作类型的值。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cache_ctrl/cache_ctrl.h"`。
30+ 
29从源地址所在的特定GM地址预加载数据到Data Cache中,每次调用只能预加载一个Cache Line大小的数据。31从源地址所在的特定GM地址预加载数据到Data Cache中,每次调用只能预加载一个Cache Line大小的数据。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cache_ctrl/cache_ctrl.h"`。
30+ 
29在AI Core内部,Scalar单元和DMA单元都可能对Global Memory进行访问。31在AI Core内部,Scalar单元和DMA单元都可能对Global Memory进行访问。
30 32 
31![](../figures/dcci.png "DataCache内存层次示意图") \\33![](../figures/dcci.png "DataCache内存层次示意图") \\
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cache_ctrl/cache_ctrl.h"`。
30+ 
29数据缓存失效,该指令用于使整个数据缓存无效化,且不会对处于“脏”状态的缓存行执行写回操作。换言之,所有缓存行将被直接标记为无效,其修改过但尚未同步至主存的数据将被丢弃。31数据缓存失效,该指令用于使整个数据缓存无效化,且不会对处于“脏”状态的缓存行执行写回操作。换言之,所有缓存行将被直接标记为无效,其修改过但尚未同步至主存的数据将被丢弃。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cache_ctrl/cache_ctrl.h"`。
30+ 
29获取ICache的Preload的状态。31获取ICache的Preload的状态。
30 32 
31该接口为调试接口,在[asc_icache_preload](asc_icache_preload.md)后调用,用于获取ICache的PreLoad的状态。当返回值为0时,说明ICache的PreLoad已完成;当返回值为1时,说明ICache的PreLoad未完成。33该接口为调试接口,在[asc_icache_preload](asc_icache_preload.md)后调用,用于获取ICache的PreLoad的状态。当返回值为0时,说明ICache的PreLoad已完成;当返回值为1时,说明ICache的PreLoad未完成。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cache_ctrl/cache_ctrl.h"`。
30+ 
29读取当前标量读(load)路径的L2 Cache管理策略,并返回[asc_load_l2_cache_mode](../defs/enum/asc_load_l2_cache_mode.md)枚举值。31读取当前标量读(load)路径的L2 Cache管理策略,并返回[asc_load_l2_cache_mode](../defs/enum/asc_load_l2_cache_mode.md)枚举值。
30 32 
31常用于临时切换策略前保存原配置,或在设置后做回读校验。33常用于临时切换策略前保存原配置,或在设置后做回读校验。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cache_ctrl/cache_ctrl.h"`。
30+ 
29读取当前标量写(store)路径的L2 Cache管理策略,并返回[asc_store_l2_cache_mode](../defs/enum/asc_store_l2_cache_mode.md)枚举值。31读取当前标量写(store)路径的L2 Cache管理策略,并返回[asc_store_l2_cache_mode](../defs/enum/asc_store_l2_cache_mode.md)枚举值。
30 32 
31常用于临时切换策略前保存原配置,或在设置后做回读校验。33常用于临时切换策略前保存原配置,或在设置后做回读校验。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cache_ctrl/cache_ctrl.h"`。
30+ 
29从指令所在GM地址预加载数据到对应的cacheline中。31从指令所在GM地址预加载数据到对应的cacheline中。
30 32 
31开发者手动调用该接口,能够从指令所在GM地址预加载指令到ICache中。33开发者手动调用该接口,能够从指令所在GM地址预加载指令到ICache中。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cache_ctrl/cache_ctrl.h"`。
30+ 
29配置标量单元访问Global Memory时的L2 Cache管理策略。接口通过修改CTRL寄存器对应比特域生效:31配置标量单元访问Global Memory时的L2 Cache管理策略。接口通过修改CTRL寄存器对应比特域生效:
30 32 
31- 传入[asc_load_l2_cache_mode](../defs/enum/asc_load_l2_cache_mode.md)时,设置标量读(load)策略。33- 传入[asc_load_l2_cache_mode](../defs/enum/asc_load_l2_cache_mode.md)时,设置标量读(load)策略。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口用于设置Mmad计算关闭HF32模式,其作用与[asc_enable_hf32](./asc_enable_hf32.md)相反,两个接口不同时生效。关闭HF32模式后,L0A Buffer与L0B Buffer中的`float`数据在参与Mmad计算之前不做舍入处理。31本接口用于设置Mmad计算关闭HF32模式,其作用与[asc_enable_hf32](./asc_enable_hf32.md)相反,两个接口不同时生效。关闭HF32模式后,L0A Buffer与L0B Buffer中的`float`数据在参与Mmad计算之前不做舍入处理。
30 32 
31本接口为矩阵计算相关配置接口,仅在AIC上生效。33本接口为矩阵计算相关配置接口,仅在AIC上生效。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口用于设置Mmad计算关闭HiF8模式(与[asc_enable_hif8](./asc_enable_hif8.md)相反),调用此接口后L0A Buffer/L0B Buffer中的FP8数据在参与Mmad计算之前不会被转化为hifloat8_t类型数据。31本接口用于设置Mmad计算关闭HiF8模式(与[asc_enable_hif8](./asc_enable_hif8.md)相反),调用此接口后L0A Buffer/L0B Buffer中的FP8数据在参与Mmad计算之前不会被转化为hifloat8_t类型数据。
30 32 
31本接口为矩阵计算相关配置接口,仅在AIC上生效。33本接口为矩阵计算相关配置接口,仅在AIC上生效。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29用于设置Mmad计算开启FP8模式。该接口会关闭HiF8模式(与[asc_enable_hif8](asc_enable_hif8.md)相反),开启该模式后L0A Buffer/L0B Buffer中的FP8数据在参与Mmad计算之前不会被转化为hifloat8_t类型数据。31用于设置Mmad计算开启FP8模式。该接口会关闭HiF8模式(与[asc_enable_hif8](asc_enable_hif8.md)相反),开启该模式后L0A Buffer/L0B Buffer中的FP8数据在参与Mmad计算之前不会被转化为hifloat8_t类型数据。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口用于设置Mmad计算开启HF32模式,开启该模式后,Mmad计算FP32数据的性能将得到提升,但会带来一定的精度损失。31本接口用于设置Mmad计算开启HF32模式,开启该模式后,Mmad计算FP32数据的性能将得到提升,但会带来一定的精度损失。
30 32 
31是否开启HF32对Mmad计算理论性能的影响见下表:33是否开启HF32对Mmad计算理论性能的影响见下表:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口用于设置HF32模式舍入方式,使用该接口前需要先使用[asc_enable_hf32](asc_enable_hf32.md)开启HF32模式。31本接口用于设置HF32模式舍入方式,使用该接口前需要先使用[asc_enable_hf32](asc_enable_hf32.md)开启HF32模式。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29用于设置Mmad计算开启HiF8模式,开启该模式后L0A Buffer/L0B Buffer中的8bit数据将在参与矩阵乘法运算前被转化为hifloat8_t类型数据。31用于设置Mmad计算开启HiF8模式,开启该模式后L0A Buffer/L0B Buffer中的8bit数据将在参与矩阵乘法运算前被转化为hifloat8_t类型数据。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口是Ascend C面向昇腾AI芯片的矩阵乘加(Mmad)核心计算接口,专为高性能算子开发设计,封装了昇腾NPU硬件的矩阵乘加计算能力,广泛用于神经网络层(如全连接层、卷积层)、数值计算类算子的开发,其计算公式如下:31本接口是Ascend C面向昇腾AI芯片的矩阵乘加(Mmad)核心计算接口,专为高性能算子开发设计,封装了昇腾NPU硬件的矩阵乘加计算能力,广泛用于神经网络层(如全连接层、卷积层)、数值计算类算子的开发,其计算公式如下:
30 32 
31$$33$$
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口用于完成带有量化系数的矩阵乘加计算(MmadMx),即左矩阵A和右矩阵B均有对应的量化系数矩阵,左量化系数矩阵ScaleA和右量化系数矩阵ScaleB。在MmadMx场景中,左量化系数矩阵与左矩阵相乘,右量化系数矩阵与右矩阵相乘,然后对两个乘积的结果做矩阵乘法,其计算公式如下:31本接口用于完成带有量化系数的矩阵乘加计算(MmadMx),即左矩阵A和右矩阵B均有对应的量化系数矩阵,左量化系数矩阵ScaleA和右量化系数矩阵ScaleB。在MmadMx场景中,左量化系数矩阵与左矩阵相乘,右量化系数矩阵与右矩阵相乘,然后对两个乘积的结果做矩阵乘法,其计算公式如下:
30 32 
31$$33$$
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29完成矩阵乘加操作,传入的左矩阵A为稀疏矩阵,右矩阵B为稠密矩阵。对于矩阵A,在asc_mmad_sparse计算时完成稠密化;对于矩阵B,在计算执行前的输入数据准备时自行完成稠密化(按照下文中介绍的稠密算法进行稠密化)。稠密矩阵B需要通过[asc_copy_l12l0b_sparse](../cube_datamove/asc_copy_l12l0b_sparse.md)载入,同时加载索引矩阵,索引矩阵在矩阵B稠密化的过程中生成,再用于矩阵A的稠密化。31完成矩阵乘加操作,传入的左矩阵A为稀疏矩阵,右矩阵B为稠密矩阵。对于矩阵A,在asc_mmad_sparse计算时完成稠密化;对于矩阵B,在计算执行前的输入数据准备时自行完成稠密化(按照下文中介绍的稠密算法进行稠密化)。稠密矩阵B需要通过[asc_copy_l12l0b_sparse](../cube_datamove/asc_copy_l12l0b_sparse.md)载入,同时加载索引矩阵,索引矩阵在矩阵B稠密化的过程中生成,再用于矩阵A的稠密化。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口用于设置Mmad计算关闭HF32模式,其作用与[asc_enable_hf32](asc_enable_hf32.md)相反,两个接口不同时生效。关闭HF32模式后,L0A Buffer与L0B Buffer中的`float`数据在参与Mmad计算之前不做舍入处理。31本接口用于设置Mmad计算关闭HF32模式,其作用与[asc_enable_hf32](asc_enable_hf32.md)相反,两个接口不同时生效。关闭HF32模式后,L0A Buffer与L0B Buffer中的`float`数据在参与Mmad计算之前不做舍入处理。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口用于设置HF32模式舍入方式,使用该接口前需要先使用[asc_enable_hf32](asc_enable_hf32.md)开启HF32模式。31本接口用于设置HF32模式舍入方式,使用该接口前需要先使用[asc_enable_hf32](asc_enable_hf32.md)开启HF32模式。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口用于设置矩阵乘加计算(Mmad)时逐列生成矩阵计算结果分形。该配置只改变L0C Buffer上结果分形的生成顺序,不改变计算结果、乘加次数或输出格式。31本接口用于设置矩阵乘加计算(Mmad)时逐列生成矩阵计算结果分形。该配置只改变L0C Buffer上结果分形的生成顺序,不改变计算结果、乘加次数或输出格式。
30 32 
31在开启UnitFlag的场景下,当L0C Buffer上结果分形的生成顺序与数据搬出指令的搬出顺序保持一致时,可以获得更好的性能表现,因此本接口可用于以下场景:33在开启UnitFlag的场景下,当L0C Buffer上结果分形的生成顺序与数据搬出指令的搬出顺序保持一致时,可以获得更好的性能表现,因此本接口可用于以下场景:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口用于设置矩阵乘加计算(Mmad)时逐行生成矩阵计算结果分形。该配置只改变L0C Buffer上结果分形的生成顺序,不改变计算结果、乘加次数或输出格式。31本接口用于设置矩阵乘加计算(Mmad)时逐行生成矩阵计算结果分形。该配置只改变L0C Buffer上结果分形的生成顺序,不改变计算结果、乘加次数或输出格式。
30 32 
31在开启UnitFlag的场景下,当L0C Buffer上结果分形的生成顺序与数据搬出指令的搬出顺序保持一致时,可以获得更好的性能表现,因此本接口可用于以下场景:33在开启UnitFlag的场景下,当L0C Buffer上结果分形的生成顺序与数据搬出指令的搬出顺序保持一致时,可以获得更好的性能表现,因此本接口可用于以下场景:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从GM搬运到L0A Buffer。31将数据从GM搬运到L0A Buffer。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将矩阵数据从Global Memory搬运到L0B Buffer。31将矩阵数据从Global Memory搬运到L0B Buffer。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从Global Memory搬运到L1 Buffer。以512字节的分形为单位,从GM中按行列方向的起始位置、步长切分提取多个分形矩阵搬运到L1 Buffer,搬运过程中不支持分形格式转换,用于矩阵计算所需的2D格式数据加载。31将数据从Global Memory搬运到L1 Buffer。以512字节的分形为单位,从GM中按行列方向的起始位置、步长切分提取多个分形矩阵搬运到L1 Buffer,搬运过程中不支持分形格式转换,用于矩阵计算所需的2D格式数据加载。
30 32 
31本接口仅在AIC上执行有效。33本接口仅在AIC上执行有效。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将矩阵数据从Global Memory搬运到L1 Buffer中,并支持不同类型的pad模式。31将矩阵数据从Global Memory搬运到L1 Buffer中,并支持不同类型的pad模式。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从Global Memory搬运到L1 Buffer,数据搬运时格式和内容保持不变。高维切分是指能够通过配置数据块个数、单个数据块长度、地址偏移等搬运参数实现非连续搬运。并且此接口支持在搬运过程中按通道padding模式对32字节粒度的数据插入或移除padding。其中padding值需要通过[asc_set_gm2l1_pad](../asc_set_gm2l1_pad.md)设置。31将数据从Global Memory搬运到L1 Buffer,数据搬运时格式和内容保持不变。高维切分是指能够通过配置数据块个数、单个数据块长度、地址偏移等搬运参数实现非连续搬运。并且此接口支持在搬运过程中按通道padding模式对32字节粒度的数据插入或移除padding。其中padding值需要通过[asc_set_gm2l1_pad](../asc_set_gm2l1_pad.md)设置。
30 32 
31本接口仅在AIC上执行有效。33本接口仅在AIC上执行有效。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29对矩阵数据进行实时padding,完成padding后将数据从Global Memory搬运到L1 Buffer。需要与[asc_set_gm2l1_loop_size](asc_set_gm2l1_loop_size.md)、[asc_set_gm2l1_loop1_stride](asc_set_gm2l1_loop1_stride.md)、[asc_set_gm2l1_loop2_stride](asc_set_gm2l1_loop2_stride.md)和[asc_set_gm2l1_pad](asc_set_gm2l1_pad.md)配合使用。31对矩阵数据进行实时padding,完成padding后将数据从Global Memory搬运到L1 Buffer。需要与[asc_set_gm2l1_loop_size](asc_set_gm2l1_loop_size.md)、[asc_set_gm2l1_loop1_stride](asc_set_gm2l1_loop1_stride.md)、[asc_set_gm2l1_loop2_stride](asc_set_gm2l1_loop2_stride.md)和[asc_set_gm2l1_pad](asc_set_gm2l1_pad.md)配合使用。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从Global Memory搬运到L1 Buffer,并在搬运过程中进行DN到Nz格式的转换,使其满足后续矩阵计算对分形列连续性的要求。31将数据从Global Memory搬运到L1 Buffer,并在搬运过程中进行DN到Nz格式的转换,使其满足后续矩阵计算对分形列连续性的要求。
30 32 
31进行DN2Nz格式搬运前,需先通过[asc_set_gm2l1_nz_para](asc_set_gm2l1_nz_para.md)接口配置DN2Nz搬运的目的Nz矩阵步长与DN矩阵搬运个数。33进行DN2Nz格式搬运前,需先通过[asc_set_gm2l1_nz_para](asc_set_gm2l1_nz_para.md)接口配置DN2Nz搬运的目的Nz矩阵步长与DN矩阵搬运个数。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从Global Memory (GM)搬运到Level 1 cache (L1),支持在数据搬运时进行ND格式到NZ格式的转换。31将数据从Global Memory (GM)搬运到Level 1 cache (L1),支持在数据搬运时进行ND格式到NZ格式的转换。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从Global Memory搬运到L1 Buffer,并在搬运过程中将源端按N维连续排布的ND格式数据转换为L1 Buffer侧的Nz分形排布,使其满足后续矩阵计算对分形列连续性的要求。该接口也适用于卷积格式NHWC(ND)转换为NC1HWC0格式等转换场景。31将数据从Global Memory搬运到L1 Buffer,并在搬运过程中将源端按N维连续排布的ND格式数据转换为L1 Buffer侧的Nz分形排布,使其满足后续矩阵计算对分形列连续性的要求。该接口也适用于卷积格式NHWC(ND)转换为NC1HWC0格式等转换场景。
30 32 
31进行ND2Nz格式搬运前,需先通过[asc_set_gm2l1_nz_para](../asc_set_gm2l1_nz_para.md)接口配置ND2Nz搬运的目的Nz矩阵的stride与ND矩阵搬运个数。33进行ND2Nz格式搬运前,需先通过[asc_set_gm2l1_nz_para](../asc_set_gm2l1_nz_para.md)接口配置ND2Nz搬运的目的Nz矩阵的stride与ND矩阵搬运个数。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29矩阵计算完成后,对结果进行量化处理,之后将处理结果搬运到GM中。量化模式共分为9种,分别为:31矩阵计算完成后,对结果进行量化处理,之后将处理结果搬运到GM中。量化模式共分为9种,分别为:
30- NoQuant:不开启量化功能。32- NoQuant:不开启量化功能。
31- F322F16:float量化成half。量化结果不支持INF_NAN模式。33- F322F16:float量化成half。量化结果不支持INF_NAN模式。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将矩阵计算结果从L0C Buffer搬运至Global Memory,搬运过程中可同步支持随路量化、随路激活、随路格式转换(Nz2ND/Nz2DN)等能力组合。31将矩阵计算结果从L0C Buffer搬运至Global Memory,搬运过程中可同步支持随路量化、随路激活、随路格式转换(Nz2ND/Nz2DN)等能力组合。
30 32 
31下图展示了随路量化、随路ReLU、随路格式转换、随路通道拆分以及随路通道合并的有效组合、中间数据类型和数据路径。下图中的F32-\>F16与F32-\>BF16为Cast,其余为随路scalar/tensor量化模式。33下图展示了随路量化、随路ReLU、随路格式转换、随路通道拆分以及随路通道合并的有效组合、中间数据类型和数据路径。下图中的F32-\>F16与F32-\>BF16为Cast,其余为随路scalar/tensor量化模式。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29矩阵计算完成后,对结果进行量化处理,之后将处理结果搬运到L1 Buffer中。量化模式共分为9种,分别为:31矩阵计算完成后,对结果进行量化处理,之后将处理结果搬运到L1 Buffer中。量化模式共分为9种,分别为:
30- NoQuant:不开启量化功能。32- NoQuant:不开启量化功能。
31- DEQF16:int32_t量化成half。量化结果不支持INF_NAN模式。33- DEQF16:int32_t量化成half。量化结果不支持INF_NAN模式。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29该接口用于将矩阵计算的结果从L0C Buffer搬运至L1 Buffer中,并且在搬运过程中支持与其它接口组合使用,配置多种随路能力。(目前针对量化模式的支持尚不完全,具体支持情况请以[函数原型](#函数原型)中包含的接口为准)31该接口用于将矩阵计算的结果从L0C Buffer搬运至L1 Buffer中,并且在搬运过程中支持与其它接口组合使用,配置多种随路能力。(目前针对量化模式的支持尚不完全,具体支持情况请以[函数原型](#函数原型)中包含的接口为准)
30 32 
31下图展示了随路量化、随路ReLU、随路格式转换、随路通道拆分以及随路通道合并的有效组合、中间数据类型和数据路径。下图中的F32-\>F16与F32-\>BF16为Cast,其余为随路scalar/tensor量化模式。33下图展示了随路量化、随路ReLU、随路格式转换、随路通道拆分以及随路通道合并的有效组合、中间数据类型和数据路径。下图中的F32-\>F16与F32-\>BF16为Cast,其余为随路scalar/tensor量化模式。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将矩阵计算结果从L0C Buffer搬运至Unified Buffer,搬运过程中可同步支持随路量化、随路激活、随路格式转换(Nz2ND/Nz2DN)等能力组合。31将矩阵计算结果从L0C Buffer搬运至Unified Buffer,搬运过程中可同步支持随路量化、随路激活、随路格式转换(Nz2ND/Nz2DN)等能力组合。
30 32 
31下图展示了随路量化、随路ReLU、随路格式转换、随路通道拆分以及随路通道合并的有效组合、中间数据类型和数据路径。下图中的F32-\>F16与F32-\>BF16为Cast,其余为随路scalar/tensor量化模式。33下图展示了随路量化、随路ReLU、随路格式转换、随路通道拆分以及随路通道合并的有效组合、中间数据类型和数据路径。下图中的F32-\>F16与F32-\>BF16为Cast,其余为随路scalar/tensor量化模式。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从L1 Buffer搬运到BiasTable Buffer中,BiasTable Buffer用于存放矩阵计算中的Bias。31将数据从L1 Buffer搬运到BiasTable Buffer中,BiasTable Buffer用于存放矩阵计算中的Bias。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将MMAD指令的Bias数据从L1 Buffer搬运到BiasTable Buffer中。31将MMAD指令的Bias数据从L1 Buffer搬运到BiasTable Buffer中。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从L1 Buffer搬运到Fixpipe Buffer中,Fixpipe Buffer用于存放量化参数。31将数据从L1 Buffer搬运到Fixpipe Buffer中,Fixpipe Buffer用于存放量化参数。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从L1 Buffer搬运到Fixpipe Buffer中,Fixpipe Buffer用于存放量化参数。31将数据从L1 Buffer搬运到Fixpipe Buffer中,Fixpipe Buffer用于存放量化参数。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从L1 Buffer搬运到Global Memory。31将数据从L1 Buffer搬运到Global Memory。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29负责完成矩阵计算所需的2D格式数据的搬运,搬运粒度为大小为512字节的数据分形,支持非转置与转置矩阵从L1 Buffer到L0A Buffer的数据搬运。31负责完成矩阵计算所需的2D格式数据的搬运,搬运粒度为大小为512字节的数据分形,支持非转置与转置矩阵从L1 Buffer到L0A Buffer的数据搬运。
30 32 
31对于不同的数据类型,对应的分形矩阵如下:33对于不同的数据类型,对应的分形矩阵如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
293D卷积数据搬运是用于将NC1HWC0格式的Feature Map完成Image to Column展开,然后再从展开后的二维矩阵中选取指定数据块搬入对应内存位置。见图1。313D卷积数据搬运是用于将NC1HWC0格式的Feature Map完成Image to Column展开,然后再从展开后的二维矩阵中选取指定数据块搬入对应内存位置。见图1。
30 32 
31搬运过程中是以512字节的数据分形为单位进行搬运的,此接口也可以用于普通矩阵计算所需的2D格式数据的搬运。如何使用此接口进行2D格式数据的搬运可以参考[关键特性说明](#l12l0a_3d_key_features)。支持从L1 Buffer到L0A Buffer的数据搬运。33搬运过程中是以512字节的数据分形为单位进行搬运的,此接口也可以用于普通矩阵计算所需的2D格式数据的搬运。如何使用此接口进行2D格式数据的搬运可以参考[关键特性说明](#l12l0a_3d_key_features)。支持从L1 Buffer到L0A Buffer的数据搬运。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29用于搬运存放在L1 Buffer里的512B大小的矩阵到L0A Buffer里。包含2D格式搬运、3D格式搬运。31用于搬运存放在L1 Buffer里的512B大小的矩阵到L0A Buffer里。包含2D格式搬运、3D格式搬运。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29负责完成MX矩阵计算过程中所需的左矩阵对应的量化系数的搬运,数据通路为L1 Buffer->L0A_MX Buffer。其中左量化系数矩阵以32字节(固定数据类型为`fp8_e8m0_t`、分形大小为16×2的)的数据分形为单位进行搬运。31负责完成MX矩阵计算过程中所需的左矩阵对应的量化系数的搬运,数据通路为L1 Buffer->L0A_MX Buffer。其中左量化系数矩阵以32字节(固定数据类型为`fp8_e8m0_t`、分形大小为16×2的)的数据分形为单位进行搬运。
30 32 
31其中,L0A_MX Buffer的大小为4KB,和L0A Buffer地址的映射关系如下:33其中,L0A_MX Buffer的大小为4KB,和L0A Buffer地址的映射关系如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29该接口实现带转置的2D格式数据从L1 Buffer到L0A Buffer的加载。31该接口实现带转置的2D格式数据从L1 Buffer到L0A Buffer的加载。
30 32 
31下面通过示例来讲解接口功能和关键参数:下文图中一个N形或者一个Z形代表一个分形。33下面通过示例来讲解接口功能和关键参数:下文图中一个N形或者一个Z形代表一个分形。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29负责完成矩阵计算所需的2D格式数据的搬运,搬运粒度为大小为512字节的数据分形,支持非转置与转置矩阵从L1 Buffer到L0B buffer的数据搬运。31负责完成矩阵计算所需的2D格式数据的搬运,搬运粒度为大小为512字节的数据分形,支持非转置与转置矩阵从L1 Buffer到L0B buffer的数据搬运。
30 32 
31对于不同的数据类型,对应的分形矩阵如下:33对于不同的数据类型,对应的分形矩阵如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
293D卷积数据搬运是用于将NC1HWC0格式的Feature Map完成Image to Column展开,按卷积步长、卷积核大小、膨胀系数配置生成img2col二维矩阵,再从展开后的矩阵中选取指定数据块搬运到L0B Buffer,用于3D卷积场景的矩阵计算数据加载。313D卷积数据搬运是用于将NC1HWC0格式的Feature Map完成Image to Column展开,按卷积步长、卷积核大小、膨胀系数配置生成img2col二维矩阵,再从展开后的矩阵中选取指定数据块搬运到L0B Buffer,用于3D卷积场景的矩阵计算数据加载。
30 32 
31搬运过程中是以512字节的数据分形为单位进行搬运的,此接口也可以用于普通矩阵计算所需的2D格式数据的搬运。如何使用此接口进行2D格式数据的搬运可以参考[关键特性说明](#l12l0b_3d_key_features)。支持从L1 Buffer到L0B Buffer的数据搬运。33搬运过程中是以512字节的数据分形为单位进行搬运的,此接口也可以用于普通矩阵计算所需的2D格式数据的搬运。如何使用此接口进行2D格式数据的搬运可以参考[关键特性说明](#l12l0b_3d_key_features)。支持从L1 Buffer到L0B Buffer的数据搬运。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29用于搬运存放在L1 Buffer里的512B大小的矩阵到L0B Buffer里。包含2D格式搬运、3D格式搬运。31用于搬运存放在L1 Buffer里的512B大小的矩阵到L0B Buffer里。包含2D格式搬运、3D格式搬运。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29负责完成MX矩阵计算过程中所需的右矩阵对应的量化系数的搬运,数据通路为L1 Buffer->L0B_MX Buffer。其中右量化系数矩阵以32字节(固定数据类型为`fp8_e8m0_t`、分形大小为2×16的)的数据分形为单位进行搬运。31负责完成MX矩阵计算过程中所需的右矩阵对应的量化系数的搬运,数据通路为L1 Buffer->L0B_MX Buffer。其中右量化系数矩阵以32字节(固定数据类型为`fp8_e8m0_t`、分形大小为2×16的)的数据分形为单位进行搬运。
30 32 
31其中,L0B_MX Buffer的大小为4KB,和L0B Buffer地址的映射关系如下:33其中,L0B_MX Buffer的大小为4KB,和L0B Buffer地址的映射关系如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29用于搬运存放在L1 Buffer里的512B大小的稠密权重矩阵到L0B Buffer里,同时读取128B大小的索引矩阵用于稠密矩阵的稀疏化。31用于搬运存放在L1 Buffer里的512B大小的稠密权重矩阵到L0B Buffer里,同时读取128B大小的索引矩阵用于稠密矩阵的稀疏化。
30 32 
31索引矩阵在一个int8_t的地址中的排布是逆序排布的,例如:索引矩阵1 2 0 1 0 2 1 0,在地址中的排布为1 0 2 1 0 1 2 0,其中1 0 2 1(对应索引矩阵前四位1 2 0 1)拼成一个int8_t数据,0 1 2 0(对应索引矩阵后四位0 2 1 0)拼成一个int8_t数据。33索引矩阵在一个int8_t的地址中的排布是逆序排布的,例如:索引矩阵1 2 0 1 0 2 1 0,在地址中的排布为1 0 2 1 0 1 2 0,其中1 0 2 1(对应索引矩阵前四位1 2 0 1)拼成一个int8_t数据,0 1 2 0(对应索引矩阵后四位0 2 1 0)拼成一个int8_t数据。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29该接口实现带转置的2D格式数据从L1 Buffer到L0B Buffer的加载。31该接口实现带转置的2D格式数据从L1 Buffer到L0B Buffer的加载。
30 32 
31下面通过示例来讲解接口功能和关键参数:下文图中一个N形或者一个Z形代表一个分形。33下面通过示例来讲解接口功能和关键参数:下文图中一个N形或者一个Z形代表一个分形。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29该接口实现带转置的2D格式数据从L1 Buffer到L0B Buffer的加载。31该接口实现带转置的2D格式数据从L1 Buffer到L0B Buffer的加载。
30 32 
31下面通过示例来讲解接口功能和关键参数:下文图中一个N形或者一个Z形代表一个分形。33下面通过示例来讲解接口功能和关键参数:下文图中一个N形或者一个Z形代表一个分形。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将矩阵由L1 Buffer搬运到L0C Buffer中。该搬运支持的数据类型如下:31将矩阵由L1 Buffer搬运到L0C Buffer中。该搬运支持的数据类型如下:
30- bfloat16_t->bfloat16_t32- bfloat16_t->bfloat16_t
31- half->half33- half->half
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从L1 Buffer搬运到Unified Buffer(UB)中。31将数据从L1 Buffer搬运到Unified Buffer(UB)中。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将value的二进制值赋值给dst,对L0A Buffer的Local Memory进行初始化。31将value的二进制值赋值给dst,对L0A Buffer的Local Memory进行初始化。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将value的二进制值赋值给dst,对L0B Buffer的Local Memory进行初始化。31将value的二进制值赋值给dst,对L0B Buffer的Local Memory进行初始化。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将一个标量填充值写入L1 Buffer的目的地址,并将填充值广播到多个32字节分形块中,可用于L1 Buffer的内存初始化。需要通过[asc_fill_value_config](../defs/union/asc_fill_value_config.md)配置的重复次数、单次分形块数、相邻重复之间的间隔。31将一个标量填充值写入L1 Buffer的目的地址,并将填充值广播到多个32字节分形块中,可用于L1 Buffer的内存初始化。需要通过[asc_fill_value_config](../defs/union/asc_fill_value_config.md)配置的重复次数、单次分形块数、相邻重复之间的间隔。
30 32 
31本接口仅在AIC上执行有效。33本接口仅在AIC上执行有效。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29数据搬运过程中进行随路量化时,通过调用该接口获取量化操作前矢量的起始地址。31数据搬运过程中进行随路量化时,通过调用该接口获取量化操作前矢量的起始地址。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29数据搬运过程中进行随路量化时,通过调用该接口获取ReLU操作前矢量的起始地址。31数据搬运过程中进行随路量化时,通过调用该接口获取ReLU操作前矢量的起始地址。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29数据搬运过程中进行随路量化时,通过调用该接口获取unit_flag设置。31数据搬运过程中进行随路量化时,通过调用该接口获取unit_flag设置。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将图像数据从Global Memory搬运到L1 Buffer。31将图像数据从Global Memory搬运到L1 Buffer。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从Global Memory (GM)搬运到L1 Buffer时,通过调用该接口设置内层循环中相邻迭代数据块间的间隔。31将数据从Global Memory (GM)搬运到L1 Buffer时,通过调用该接口设置内层循环中相邻迭代数据块间的间隔。
30 32 
31以源操作数搬运场景为例,如下图所示。33以源操作数搬运场景为例,如下图所示。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从Global Memory (GM)搬运到L1 Buffer时,通过调用该接口设置外层循环中相邻迭代数据块间的间隔。31将数据从Global Memory (GM)搬运到L1 Buffer时,通过调用该接口设置外层循环中相邻迭代数据块间的间隔。
30 32 
31以源操作数搬运场景为例,如下图所示。33以源操作数搬运场景为例,如下图所示。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从Global Memory (GM)搬运到L1 Buffer时,通过调用该接口设置数据搬运流程中的循环次数。31将数据从Global Memory (GM)搬运到L1 Buffer时,通过调用该接口设置数据搬运流程中的循环次数。
30 32 
31以源操作数搬运场景为例,如下图所示。33以源操作数搬运场景为例,如下图所示。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29本接口用于配置从Global Memory搬运至L1 Buffer过程中,ND2Nz或DN2Nz格式转换所需的目的地址布局,包括矩阵数量、目的Nz矩阵中相邻行的步长、相邻Z矩阵的步长以及相邻Nz矩阵的步长。配置完成后,由后续调用的[asc_copy_gm2l1_nd2nz](./asc_copy_gm2l1_nd2nz/asc_copy_gm2l1_nd2nz_arch_3510.md)或[asc_copy_gm2l1_dn2nz](./asc_copy_gm2l1_dn2nz.md)接口使用。31本接口用于配置从Global Memory搬运至L1 Buffer过程中,ND2Nz或DN2Nz格式转换所需的目的地址布局,包括矩阵数量、目的Nz矩阵中相邻行的步长、相邻Z矩阵的步长以及相邻Nz矩阵的步长。配置完成后,由后续调用的[asc_copy_gm2l1_nd2nz](./asc_copy_gm2l1_nd2nz/asc_copy_gm2l1_nd2nz_arch_3510.md)或[asc_copy_gm2l1_dn2nz](./asc_copy_gm2l1_dn2nz.md)接口使用。
30 32 
31本接口只完成参数配置,不执行数据搬运。源地址步长、矩阵行数和矩阵列数等搬运参数由后续搬运接口配置。33本接口只完成参数配置,不执行数据搬运。源地址步长、矩阵行数和矩阵列数等搬运参数由后续搬运接口配置。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29将数据从Global Memory (GM)非对齐搬运到L1 Buffer时,通过调用该接口设置连续搬运数据块左右两侧需要填补的数据值。31将数据从Global Memory (GM)非对齐搬运到L1 Buffer时,通过调用该接口设置连续搬运数据块左右两侧需要填补的数据值。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29本接口用于在L0C Buffer搬出并执行Nz2DN格式转换时,配置源Nz矩阵中相邻行的地址偏移。配置写入后,由后续开启Nz2DN功能的[asc_copy_l0c2gm](asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)、[asc_copy_l0c2l1](asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)或[asc_copy_l0c2ub](asc_copy_l0c2ub.md)接口使用;未开启Nz2DN功能时,本配置不生效。31本接口用于在L0C Buffer搬出并执行Nz2DN格式转换时,配置源Nz矩阵中相邻行的地址偏移。配置写入后,由后续开启Nz2DN功能的[asc_copy_l0c2gm](asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)、[asc_copy_l0c2l1](asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)或[asc_copy_l0c2ub](asc_copy_l0c2ub.md)接口使用;未开启Nz2DN功能时,本配置不生效。
30 32 
31本接口为矩阵搬出相关配置接口,仅在AIC上生效。33本接口为矩阵搬出相关配置接口,仅在AIC上生效。
@@ -25,6 +25,8 @@
25 25 
26## 功能说明26## 功能说明
27 27 
28+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
29+ 
28数据搬运过程中进行随路量化时,通过调用该接口设置量化流程中的矢量量化参数。30数据搬运过程中进行随路量化时,通过调用该接口设置量化流程中的矢量量化参数。
29 31 
30## 函数原型32## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29用于设置asc_copy_l0c2l1或asc_copy_l0c2gm接口计算过程中使用的Leaky ReLU alpha值。该值只支持half和float两种数据类型。31用于设置asc_copy_l0c2l1或asc_copy_l0c2gm接口计算过程中使用的Leaky ReLU alpha值。该值只支持half和float两种数据类型。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29本接口用于在L0C Buffer搬出接口[asc_copy_l0c2gm](asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)、[asc_copy_l0c2l1](asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)、[asc_copy_l0c2ub](asc_copy_l0c2ub.md)启用随路Nz转ND格式功能时,配置格式转换所需的相关参数。31本接口用于在L0C Buffer搬出接口[asc_copy_l0c2gm](asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)、[asc_copy_l0c2l1](asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)、[asc_copy_l0c2ub](asc_copy_l0c2ub.md)启用随路Nz转ND格式功能时,配置格式转换所需的相关参数。
30 32 
31本接口为矩阵搬出相关配置接口,仅在AIC上生效。33本接口为矩阵搬出相关配置接口,仅在AIC上生效。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29对QUANT_POST寄存器中的值进行设置, QUANT_POST是一个64bit的寄存器,存储Fixpipe后处理阶段量化信息。31对QUANT_POST寄存器中的值进行设置, QUANT_POST是一个64bit的寄存器,存储Fixpipe后处理阶段量化信息。
30其中各bit含义如下,其中各种量化模式的说明可见[asc_copy_l0c2l1](asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)中对各种量化模式的说明:32其中各bit含义如下,其中各种量化模式的说明可见[asc_copy_l0c2l1](asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)中对各种量化模式的说明:
31 33 
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29对RELU_ALPHA寄存器中的值进行设置。这是一个64bit的寄存器,存储在fixpipe或cube指令中进行Scalar ReLU时使用的alpha值。31对RELU_ALPHA寄存器中的值进行设置。这是一个64bit的寄存器,存储在fixpipe或cube指令中进行Scalar ReLU时使用的alpha值。
30 32 
31其中各bit含义如下:33其中各bit含义如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29本接口用于在L0C Buffer搬出并执行Nz2DN格式转换时,配置源Nz矩阵中相邻行的地址偏移。配置写入后,由后续开启Nz2DN功能的[asc_copy_l0c2gm](./asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)、[asc_copy_l0c2l1](./asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)或[asc_copy_l0c2ub](./asc_copy_l0c2ub.md)接口使用;未开启Nz2DN功能时,本配置不生效。31本接口用于在L0C Buffer搬出并执行Nz2DN格式转换时,配置源Nz矩阵中相邻行的地址偏移。配置写入后,由后续开启Nz2DN功能的[asc_copy_l0c2gm](./asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)、[asc_copy_l0c2l1](./asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)或[asc_copy_l0c2ub](./asc_copy_l0c2ub.md)接口使用;未开启Nz2DN功能时,本配置不生效。
30 32 
31本接口为矩阵搬出相关配置接口,仅在AIC上生效。33本接口为矩阵搬出相关配置接口,仅在AIC上生效。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_compute/cube_compute.h"`。
30+ 
29本接口用于在L0C Buffer搬出接口[asc_copy_l0c2gm](../cube_datamove/asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)、[asc_copy_l0c2l1](../cube_datamove/asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)、[asc_copy_l0c2ub](../cube_datamove/asc_copy_l0c2ub.md)启用随路Nz转ND/DN格式功能时,配置格式转换所需的相关参数。31本接口用于在L0C Buffer搬出接口[asc_copy_l0c2gm](../cube_datamove/asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)、[asc_copy_l0c2l1](../cube_datamove/asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)、[asc_copy_l0c2ub](../cube_datamove/asc_copy_l0c2ub.md)启用随路Nz转ND/DN格式功能时,配置格式转换所需的相关参数。
30 32 
31本接口为矩阵搬出相关配置接口,仅在AIC上生效。33本接口为矩阵搬出相关配置接口,仅在AIC上生效。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29DataCopy从L0C Buffer搬运到Global Memory或L1 Buffer过程中进行随路格式转换(NZ格式转换为ND格式)时,通过调用该接口设置格式转换的相关配置。31DataCopy从L0C Buffer搬运到Global Memory或L1 Buffer过程中进行随路格式转换(NZ格式转换为ND格式)时,通过调用该接口设置格式转换的相关配置。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29本接口用于在L0C Buffer搬出过程中进行随路Scalar量化时,配置量化计算所需的缩放系数、偏移量和量化结果符号。配置完成后,由后续调用的[asc_copy_l0c2gm](./asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)、[asc_copy_l0c2l1](./asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)或[asc_copy_l0c2ub](./asc_copy_l0c2ub.md)接口使用,并且需要与搬出接口的`quant_pre_mode`搭配使用。31本接口用于在L0C Buffer搬出过程中进行随路Scalar量化时,配置量化计算所需的缩放系数、偏移量和量化结果符号。配置完成后,由后续调用的[asc_copy_l0c2gm](./asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)、[asc_copy_l0c2l1](./asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)或[asc_copy_l0c2ub](./asc_copy_l0c2ub.md)接口使用,并且需要与搬出接口的`quant_pre_mode`搭配使用。
30 32 
31`quant_pre_mode`量化模式参数支持的Scalar量化枚举值如下:33`quant_pre_mode`量化模式参数支持的Scalar量化枚举值如下:
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29对PADDING_B寄存器中的值进行设置,这是一个64bit的寄存器,用于存储搬运过程中padding的值。31对PADDING_B寄存器中的值进行设置,这是一个64bit的寄存器,用于存储搬运过程中padding的值。
30其中各bit含义如下:32其中各bit含义如下:
31 33 
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29用于调用[asc_copy_l12l0a_arch_3510(3D矩阵搬运)](asc_copy_l12l0a/asc_copy_l12l0a_3d_arch_3510.md)时设置3D格式分形矩阵搬运(im2col展开)搬运指令使用的填充值。`asc_copy_l12l0a`接口中的`f_matrix_ctrl`参数设置为`false`时,3D格式分形矩阵搬运(im2col展开)场景会使用本接口设置的值做为填充值。31用于调用[asc_copy_l12l0a_arch_3510(3D矩阵搬运)](asc_copy_l12l0a/asc_copy_l12l0a_3d_arch_3510.md)时设置3D格式分形矩阵搬运(im2col展开)搬运指令使用的填充值。`asc_copy_l12l0a`接口中的`f_matrix_ctrl`参数设置为`false`时,3D格式分形矩阵搬运(im2col展开)场景会使用本接口设置的值做为填充值。
30 32 
31本接口为矩阵3D格式搬入相关配置接口,仅在AIC上生效。33本接口为矩阵3D格式搬入相关配置接口,仅在AIC上生效。
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29设置Feature map属性描述,用于在调用[asc_copy_l12l0a](asc_copy_l12l0a/asc_copy_l12l0a.md)/[asc_copy_l12l0b](asc_copy_l12l0b/asc_copy_l12l0b.md)的3D格式搬运接口时配置填充数值。31设置Feature map属性描述,用于在调用[asc_copy_l12l0a](asc_copy_l12l0a/asc_copy_l12l0a.md)/[asc_copy_l12l0b](asc_copy_l12l0b/asc_copy_l12l0b.md)的3D格式搬运接口时配置填充数值。
30仅当asc_copy_l12l0a/asc_copy_l12l0b接口的f_matrix_ctrl参数指示从左矩阵获取FeatureMap的属性时使用本接口设置Feature map属性描述,否则使用asc_set_l13d_fmatrix_b接口。32仅当asc_copy_l12l0a/asc_copy_l12l0b接口的f_matrix_ctrl参数指示从左矩阵获取FeatureMap的属性时使用本接口设置Feature map属性描述,否则使用asc_set_l13d_fmatrix_b接口。
31 33 
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29设置Feature map属性描述,用于在调用[asc_copy_l12l0a](asc_copy_l12l0a/asc_copy_l12l0a.md)/[asc_copy_l12l0b](asc_copy_l12l0b/asc_copy_l12l0b.md)的3D格式搬运接口时配置填充数值。31设置Feature map属性描述,用于在调用[asc_copy_l12l0a](asc_copy_l12l0a/asc_copy_l12l0a.md)/[asc_copy_l12l0b](asc_copy_l12l0b/asc_copy_l12l0b.md)的3D格式搬运接口时配置填充数值。
30仅当asc_copy_l12l0a/asc_copy_l12l0b接口的f_matrix_ctrl参数指示从右矩阵获取FeatureMap的属性时使用本接口设置Feature map属性描述,否则使用asc_set_l13d_fmatrix接口。32仅当asc_copy_l12l0a/asc_copy_l12l0b接口的f_matrix_ctrl参数指示从右矩阵获取FeatureMap的属性时使用本接口设置Feature map属性描述,否则使用asc_set_l13d_fmatrix接口。
31 33 
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29设置Pad属性描述,用于在调用[asc_copy_l12l0a](asc_copy_l12l0a/asc_copy_l12l0a.md)接口时配置填充数值。31设置Pad属性描述,用于在调用[asc_copy_l12l0a](asc_copy_l12l0a/asc_copy_l12l0a.md)接口时配置填充数值。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29用于设置Load3Dv2接口的repeat参数。31用于设置Load3Dv2接口的repeat参数。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29设置[asc_copy_l12l0a](asc_copy_l12l0a/asc_copy_l12l0a_arch_2201.md)/[asc_copy_l12l0b](asc_copy_l12l0b/asc_copy_l12l0b_arch_2201.md)的3D格式搬运接口在L1 Buffer的边界值。31设置[asc_copy_l12l0a](asc_copy_l12l0a/asc_copy_l12l0a_arch_2201.md)/[asc_copy_l12l0b](asc_copy_l12l0b/asc_copy_l12l0b_arch_2201.md)的3D格式搬运接口在L1 Buffer的边界值。
30 32 
31## 函数原型33## 函数原型
@@ -26,6 +26,8 @@
26 26 
27## 功能说明27## 功能说明
28 28 
29+头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。
30+ 
29用于设置接口[asc_copy_l12l0a](asc_copy_l12l0a/asc_copy_l12l0a_3d_arch_3510.md)、[asc_copy_l12l0b](asc_copy_l12l0b/asc_copy_l12l0b_3d_arch_3510.md)的2D格式搬运的repeat参数。31用于设置接口[asc_copy_l12l0a](asc_copy_l12l0a/asc_copy_l12l0a_3d_arch_3510.md)、[asc_copy_l12l0b](asc_copy_l12l0b/asc_copy_l12l0b_3d_arch_3510.md)的2D格式搬运的repeat参数。
30 32 
31## 函数原型33## 函数原型