已合并
重构资料目录:c_api 同步接口文档细分为核间同步/核内同步 #6116
GRJ_XIDUO创建于 21 天前
重构资料目录:c_api 同步接口文档细分为核间同步/核内同步 #6116
已合并
共 232 个文件变更+573-557
| @@ -1286,27 +1286,30 @@ | |||
| 1286 | - [asc_set_scalar_cache_mode](SIMD-API/c_api/cache_ctrl/asc_set_scalar_cache_mode.md) | 1286 | - [asc_set_scalar_cache_mode](SIMD-API/c_api/cache_ctrl/asc_set_scalar_cache_mode.md) |
| 1287 | - [同步控制](SIMD-API/c_api/sync/sync.md) | 1287 | - [同步控制](SIMD-API/c_api/sync/sync.md) |
| 1288 | - [系统同步能力概述](SIMD-API/c_api/sync/system_sync_overview.md) | 1288 | - [系统同步能力概述](SIMD-API/c_api/sync/system_sync_overview.md) |
| 1289 | - - [核内同步能力概述](SIMD-API/c_api/sync/intra_core_sync_overview.md) | 1289 | + - [核内同步](SIMD-API/c_api/sync/intra_core_sync/intra_core_sync.md) |
| 1290 | - - [核间同步能力概述](SIMD-API/c_api/sync/inter_core_sync_overview.md) | 1290 | + - [核内同步能力概述](SIMD-API/c_api/sync/intra_core_sync/intra_core_sync_overview.md) |
| 1291 | - - [关键特性说明](SIMD-API/c_api/sync/key_features.md) | 1291 | + - [asc_sync_notify](SIMD-API/c_api/sync/intra_core_sync/asc_sync_notify.md) |
| 1292 | - - [asc_lock](SIMD-API/c_api/sync/asc_lock.md) | 1292 | + - [asc_sync_wait](SIMD-API/c_api/sync/intra_core_sync/asc_sync_wait.md) |
| 1293 | - - [asc_sync](SIMD-API/c_api/sync/asc_sync.md) | 1293 | + - [asc_sync_pipe](SIMD-API/c_api/sync/intra_core_sync/asc_sync_pipe.md) |
| 1294 | - - [asc_sync_block_arrive](SIMD-API/c_api/sync/asc_sync_block_arrive.md) | 1294 | + - [asc_sync](SIMD-API/c_api/sync/intra_core_sync/asc_sync.md) |
| 1295 | - - [asc_sync_block_wait](SIMD-API/c_api/sync/asc_sync_block_wait.md) | 1295 | + - [asc_sync_data_barrier](SIMD-API/c_api/sync/intra_core_sync/asc_sync_data_barrier.md) |
| 1296 | - - [asc_sync_data_barrier](SIMD-API/c_api/sync/asc_sync_data_barrier.md) | 1296 | + - [asc_sync_mte2](SIMD-API/c_api/sync/intra_core_sync/asc_sync_mte2.md) |
| 1297 | - - [asc_sync_inter_arrive](SIMD-API/c_api/sync/asc_sync_inter_arrive.md) | 1297 | + - [asc_sync_mte3](SIMD-API/c_api/sync/intra_core_sync/asc_sync_mte3.md) |
| 1298 | - - [asc_sync_inter_wait](SIMD-API/c_api/sync/asc_sync_inter_wait.md) | 1298 | + - [asc_sync_vec](SIMD-API/c_api/sync/intra_core_sync/asc_sync_vec.md) |
| 1299 | - - [asc_sync_intra_arrive](SIMD-API/c_api/sync/asc_sync_intra_arrive.md) | 1299 | + - [asc_lock](SIMD-API/c_api/sync/intra_core_sync/asc_lock.md) |
| 1300 | - - [asc_sync_intra_wait](SIMD-API/c_api/sync/asc_sync_intra_wait.md) | 1300 | + - [asc_unlock](SIMD-API/c_api/sync/intra_core_sync/asc_unlock.md) |
| 1301 | - - [asc_sync_mte2](SIMD-API/c_api/sync/asc_sync_mte2.md) | 1301 | + |
| 1302 | - - [asc_sync_mte3](SIMD-API/c_api/sync/asc_sync_mte3.md) | 1302 | + - [核间同步](SIMD-API/c_api/sync/inter_core_sync/inter_core_sync.md) |
| 1303 | - - [asc_sync_notify](SIMD-API/c_api/sync/asc_sync_notify.md) | 1303 | + - [核间同步能力概述](SIMD-API/c_api/sync/inter_core_sync/inter_core_sync_overview.md) |
| 1304 | - - [asc_sync_pipe](SIMD-API/c_api/sync/asc_sync_pipe.md) | 1304 | + - [关键特性说明](SIMD-API/c_api/sync/inter_core_sync/key_features.md) |
| 1305 | - - [asc_sync_subblock_arrive](SIMD-API/c_api/sync/asc_sync_subblock_arrive.md) | 1305 | + - [asc_sync_inter_arrive](SIMD-API/c_api/sync/inter_core_sync/asc_sync_inter_arrive.md) |
| 1306 | - - [asc_sync_subblock_wait](SIMD-API/c_api/sync/asc_sync_subblock_wait.md) | 1306 | + - [asc_sync_inter_wait](SIMD-API/c_api/sync/inter_core_sync/asc_sync_inter_wait.md) |
| 1307 | - - [asc_sync_vec](SIMD-API/c_api/sync/asc_sync_vec.md) | 1307 | + - [asc_sync_subblock_arrive](SIMD-API/c_api/sync/inter_core_sync/asc_sync_subblock_arrive.md) |
| 1308 | - - [asc_sync_wait](SIMD-API/c_api/sync/asc_sync_wait.md) | 1308 | + - [asc_sync_subblock_wait](SIMD-API/c_api/sync/inter_core_sync/asc_sync_subblock_wait.md) |
| 1309 | - - [asc_unlock](SIMD-API/c_api/sync/asc_unlock.md) | 1309 | + - [asc_sync_block_arrive](SIMD-API/c_api/sync/inter_core_sync/asc_sync_block_arrive.md) |
| 1310 | + - [asc_sync_block_wait](SIMD-API/c_api/sync/inter_core_sync/asc_sync_block_wait.md) | ||
| 1311 | + - [asc_sync_intra_arrive](SIMD-API/c_api/sync/inter_core_sync/asc_sync_intra_arrive.md) | ||
| 1312 | + - [asc_sync_intra_wait](SIMD-API/c_api/sync/inter_core_sync/asc_sync_intra_wait.md) | ||
| 1310 | - [其他操作](SIMD-API/c_api/experimental/experimental.md) | 1313 | - [其他操作](SIMD-API/c_api/experimental/experimental.md) |
| 1311 | - [指令发射队列空闲槽位查询](SIMD-API/c_api/experimental/asc_get_pipe_idle_slot_count.md) | 1314 | - [指令发射队列空闲槽位查询](SIMD-API/c_api/experimental/asc_get_pipe_idle_slot_count.md) |
| 1312 | - [特殊寄存器访问](SIMD-API/c_api/spr/spr.md) | 1315 | - [特殊寄存器访问](SIMD-API/c_api/spr/spr.md) |
| @@ -124,7 +124,7 @@ if (block_idx == 0) { | |||
| 124 | 124 | ||
| 125 | ## 核内同步 | 125 | ## 核内同步 |
| 126 | 126 | ||
| 127 | -搬运指令和开启原子操作的指令流水类型如下表所示,当上述指令在同一个核内执行时,开发者按需插入[asc_sync_pipe](../sync/asc_sync_pipe.md)或者[asc_sync_notify](../sync/asc_sync_notify.md)与[asc_sync_wait](../sync/asc_sync_wait.md)。 | 127 | +搬运指令和开启原子操作的指令流水类型如下表所示,当上述指令在同一个核内执行时,开发者按需插入[asc_sync_pipe](../sync/intra_core_sync/asc_sync_pipe.md)或者[asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)与[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)。 |
| 128 | 128 | ||
| 129 | **表1** 原子操作确定性计算相关指令的流水类型 | 129 | **表1** 原子操作确定性计算相关指令的流水类型 |
| 130 | 130 | ||
| @@ -74,8 +74,8 @@ __aicore__ inline int32_t asc_atomic_max(__gm__ int32_t* address, | |||
| 74 | - `address`需按`sizeof(dtype)`字节对齐。 | 74 | - `address`需按`sizeof(dtype)`字节对齐。 |
| 75 | - 本接口不受[asc_set_atomic_max](../datamove_atomic/asc_set_atomic_max.md)等数据搬运随路原子设置影响,也不会影响后续搬运指令。 | 75 | - 本接口不受[asc_set_atomic_max](../datamove_atomic/asc_set_atomic_max.md)等数据搬运随路原子设置影响,也不会影响后续搬运指令。 |
| 76 | - 对同一`address`的并发调用以原子方式完成“读取、比较、写回”,不会丢失更新;最终写入结果为各参与值中的最大值。 | 76 | - 对同一`address`的并发调用以原子方式完成“读取、比较、写回”,不会丢失更新;最终写入结果为各参与值中的最大值。 |
| 77 | -- 本接口运行在标量流水(`PIPE_S`)上,同一标量流水内的数据依赖由指令执行顺序保证。若本接口与`PIPE_MTE2`或`PIPE_MTE3`上的数据搬运指令访问同一GM地址,且执行顺序影响结果,编译器无法自动完成跨流水同步,调用方需按实际依赖插入[asc_sync_pipe](../../sync/asc_sync_pipe.md),或配合使用[asc_sync_notify](../../sync/asc_sync_notify.md)与[asc_sync_wait](../../sync/asc_sync_wait.md)保证执行顺序。 | 77 | +- 本接口运行在标量流水(`PIPE_S`)上,同一标量流水内的数据依赖由指令执行顺序保证。若本接口与`PIPE_MTE2`或`PIPE_MTE3`上的数据搬运指令访问同一GM地址,且执行顺序影响结果,编译器无法自动完成跨流水同步,调用方需按实际依赖插入[asc_sync_pipe](../../sync/intra_core_sync/asc_sync_pipe.md),或配合使用[asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)与[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)保证执行顺序。 |
| 78 | -- 本接口访问GM时绕过DCache,不维护缓存一致性。若其他核或其他通路通过缓存访问同一GM地址,调用方需使用[asc_dcci](../../cache_ctrl/asc_dcci.md)清理或失效对应Cache Line,并使用[asc_sync_data_barrier](../../sync/asc_sync_data_barrier.md)保证相关访存操作的执行顺序和数据可见性。详情可参考[Scalar原子操作与DCache一致性](../../../../../guide/programming_guide/advanced_programming/memory_model/cache_coherence.md#scalar原子操作与dcache一致性)。 | 78 | +- 本接口访问GM时绕过DCache,不维护缓存一致性。若其他核或其他通路通过缓存访问同一GM地址,调用方需使用[asc_dcci](../../cache_ctrl/asc_dcci.md)清理或失效对应Cache Line,并使用[asc_sync_data_barrier](../../sync/intra_core_sync/asc_sync_data_barrier.md)保证相关访存操作的执行顺序和数据可见性。详情可参考[Scalar原子操作与DCache一致性](../../../../../guide/programming_guide/advanced_programming/memory_model/cache_coherence.md#scalar原子操作与dcache一致性)。 |
| 79 | - `float`类型下接口的性能与接口返回值是否被使用有关,具体情况如下: | 79 | - `float`类型下接口的性能与接口返回值是否被使用有关,具体情况如下: |
| 80 | - 当使用接口返回值时,接口采用软仿实现,`float`类型下接口的性能低于其它数据类型。 | 80 | - 当使用接口返回值时,接口采用软仿实现,`float`类型下接口的性能低于其它数据类型。 |
| 81 | - 当不使用接口返回值时,`float`类型下接口的性能与其它数据类型一致。 | 81 | - 当不使用接口返回值时,`float`类型下接口的性能与其它数据类型一致。 |
| @@ -74,8 +74,8 @@ __aicore__ inline int32_t asc_atomic_min(__gm__ int32_t* address, | |||
| 74 | - `address`需按`sizeof(dtype)`字节对齐。 | 74 | - `address`需按`sizeof(dtype)`字节对齐。 |
| 75 | - 本接口不受[asc_set_atomic_min](../datamove_atomic/asc_set_atomic_min.md)等数据搬运随路原子设置影响,也不会影响后续搬运指令。 | 75 | - 本接口不受[asc_set_atomic_min](../datamove_atomic/asc_set_atomic_min.md)等数据搬运随路原子设置影响,也不会影响后续搬运指令。 |
| 76 | - 对同一`address`的并发调用以原子方式完成“读取、比较、写回”,不会丢失更新;最终写入结果为各参与值中的最小值。 | 76 | - 对同一`address`的并发调用以原子方式完成“读取、比较、写回”,不会丢失更新;最终写入结果为各参与值中的最小值。 |
| 77 | -- 本接口运行在标量流水(`PIPE_S`)上,同一标量流水内的数据依赖由指令执行顺序保证。若本接口与`PIPE_MTE2`或`PIPE_MTE3`上的数据搬运指令访问同一GM地址,且执行顺序影响结果,编译器无法自动完成跨流水同步,调用方需按实际依赖插入[asc_sync_pipe](../../sync/asc_sync_pipe.md),或配合使用[asc_sync_notify](../../sync/asc_sync_notify.md)与[asc_sync_wait](../../sync/asc_sync_wait.md)保证执行顺序。 | 77 | +- 本接口运行在标量流水(`PIPE_S`)上,同一标量流水内的数据依赖由指令执行顺序保证。若本接口与`PIPE_MTE2`或`PIPE_MTE3`上的数据搬运指令访问同一GM地址,且执行顺序影响结果,编译器无法自动完成跨流水同步,调用方需按实际依赖插入[asc_sync_pipe](../../sync/intra_core_sync/asc_sync_pipe.md),或配合使用[asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)与[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)保证执行顺序。 |
| 78 | -- 本接口访问GM时绕过DCache,不维护缓存一致性。若其他核或其他通路通过缓存访问同一GM地址,调用方需使用[asc_dcci](../../cache_ctrl/asc_dcci.md)清理或失效对应Cache Line,并使用[asc_sync_data_barrier](../../sync/asc_sync_data_barrier.md)保证相关访存操作的执行顺序和数据可见性。详情可参考[Scalar原子操作与DCache一致性](../../../../../guide/programming_guide/advanced_programming/memory_model/cache_coherence.md#scalar原子操作与dcache一致性)。 | 78 | +- 本接口访问GM时绕过DCache,不维护缓存一致性。若其他核或其他通路通过缓存访问同一GM地址,调用方需使用[asc_dcci](../../cache_ctrl/asc_dcci.md)清理或失效对应Cache Line,并使用[asc_sync_data_barrier](../../sync/intra_core_sync/asc_sync_data_barrier.md)保证相关访存操作的执行顺序和数据可见性。详情可参考[Scalar原子操作与DCache一致性](../../../../../guide/programming_guide/advanced_programming/memory_model/cache_coherence.md#scalar原子操作与dcache一致性)。 |
| 79 | - `float`类型下接口的性能与接口返回值是否被使用有关,具体情况如下: | 79 | - `float`类型下接口的性能与接口返回值是否被使用有关,具体情况如下: |
| 80 | - 当使用接口返回值时,接口采用软仿实现,`float`类型下接口的性能低于其它数据类型。 | 80 | - 当使用接口返回值时,接口采用软仿实现,`float`类型下接口的性能低于其它数据类型。 |
| 81 | - 当不使用接口返回值时,`float`类型下接口的性能与其它数据类型一致。 | 81 | - 当不使用接口返回值时,`float`类型下接口的性能与其它数据类型一致。 |
| @@ -73,8 +73,8 @@ __aicore__ inline int32_t asc_atomic_or(__gm__ int32_t* address, | |||
| 73 | - `address`必须落在Global Memory地址空间。 | 73 | - `address`必须落在Global Memory地址空间。 |
| 74 | - `address`需按`sizeof(dtype)`字节对齐。 | 74 | - `address`需按`sizeof(dtype)`字节对齐。 |
| 75 | - 对同一`address`的并发调用以原子方式完成“读取、按位或、写回”,不会丢失更新;最终写入结果为各参与值的按位或结果。 | 75 | - 对同一`address`的并发调用以原子方式完成“读取、按位或、写回”,不会丢失更新;最终写入结果为各参与值的按位或结果。 |
| 76 | -- 本接口运行在标量流水(`PIPE_S`)上,同一标量流水内的数据依赖由指令执行顺序保证。若本接口与`PIPE_MTE2`或`PIPE_MTE3`上的数据搬运指令访问同一GM地址,且执行顺序影响结果,编译器无法自动完成跨流水同步,调用方需按实际依赖插入[asc_sync_pipe](../../sync/asc_sync_pipe.md),或配合使用[asc_sync_notify](../../sync/asc_sync_notify.md)与[asc_sync_wait](../../sync/asc_sync_wait.md)保证执行顺序。 | 76 | +- 本接口运行在标量流水(`PIPE_S`)上,同一标量流水内的数据依赖由指令执行顺序保证。若本接口与`PIPE_MTE2`或`PIPE_MTE3`上的数据搬运指令访问同一GM地址,且执行顺序影响结果,编译器无法自动完成跨流水同步,调用方需按实际依赖插入[asc_sync_pipe](../../sync/intra_core_sync/asc_sync_pipe.md),或配合使用[asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)与[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)保证执行顺序。 |
| 77 | -- 本接口访问GM时绕过DCache,不维护缓存一致性。若其他核或其他通路通过缓存访问同一GM地址,调用方需使用[asc_dcci](../../cache_ctrl/asc_dcci.md)清理或失效对应Cache Line,并使用[asc_sync_data_barrier](../../sync/asc_sync_data_barrier.md)保证相关访存操作的执行顺序和数据可见性。详情可参考[Scalar原子操作与DCache一致性](../../../../../guide/programming_guide/advanced_programming/memory_model/cache_coherence.md#scalar原子操作与dcache一致性)。 | 77 | +- 本接口访问GM时绕过DCache,不维护缓存一致性。若其他核或其他通路通过缓存访问同一GM地址,调用方需使用[asc_dcci](../../cache_ctrl/asc_dcci.md)清理或失效对应Cache Line,并使用[asc_sync_data_barrier](../../sync/intra_core_sync/asc_sync_data_barrier.md)保证相关访存操作的执行顺序和数据可见性。详情可参考[Scalar原子操作与DCache一致性](../../../../../guide/programming_guide/advanced_programming/memory_model/cache_coherence.md#scalar原子操作与dcache一致性)。 |
| 78 | 78 | ||
| 79 | ## 调用示例 | 79 | ## 调用示例 |
| 80 | 80 | ||
| @@ -73,8 +73,8 @@ __aicore__ inline int32_t asc_atomic_sub(__gm__ int32_t* address, | |||
| 73 | - `address`必须落在Global Memory地址空间。 | 73 | - `address`必须落在Global Memory地址空间。 |
| 74 | - `address`需按`sizeof(dtype)`字节对齐。 | 74 | - `address`需按`sizeof(dtype)`字节对齐。 |
| 75 | - 对同一`address`的并发调用以原子方式完成“读取、计算、写回”,不会丢失更新。`dtype`为`float`时,最终结果可能因执行顺序不同而存在差异;如需确定性计算结果,需要通过同步指令控制执行顺序。 | 75 | - 对同一`address`的并发调用以原子方式完成“读取、计算、写回”,不会丢失更新。`dtype`为`float`时,最终结果可能因执行顺序不同而存在差异;如需确定性计算结果,需要通过同步指令控制执行顺序。 |
| 76 | -- 本接口运行在标量流水(`PIPE_S`)上,同一标量流水内的数据依赖由指令执行顺序保证。若本接口与`PIPE_MTE2`或`PIPE_MTE3`上的数据搬运指令访问同一GM地址,且执行顺序影响结果,编译器无法自动完成跨流水同步,调用方需按实际依赖插入[asc_sync_pipe](../../sync/asc_sync_pipe.md),或配合使用[asc_sync_notify](../../sync/asc_sync_notify.md)与[asc_sync_wait](../../sync/asc_sync_wait.md)保证执行顺序。 | 76 | +- 本接口运行在标量流水(`PIPE_S`)上,同一标量流水内的数据依赖由指令执行顺序保证。若本接口与`PIPE_MTE2`或`PIPE_MTE3`上的数据搬运指令访问同一GM地址,且执行顺序影响结果,编译器无法自动完成跨流水同步,调用方需按实际依赖插入[asc_sync_pipe](../../sync/intra_core_sync/asc_sync_pipe.md),或配合使用[asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)与[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)保证执行顺序。 |
| 77 | -- 本接口访问GM时绕过DCache,不维护缓存一致性。若其他核或其他通路通过缓存访问同一GM地址,调用方需使用[asc_dcci](../../cache_ctrl/asc_dcci.md)清理或失效对应Cache Line,并使用[asc_sync_data_barrier](../../sync/asc_sync_data_barrier.md)保证相关访存操作的执行顺序和数据可见性。详情可参考[Scalar原子操作与DCache一致性](../../../../../guide/programming_guide/advanced_programming/memory_model/cache_coherence.md#scalar原子操作与dcache一致性)。 | 77 | +- 本接口访问GM时绕过DCache,不维护缓存一致性。若其他核或其他通路通过缓存访问同一GM地址,调用方需使用[asc_dcci](../../cache_ctrl/asc_dcci.md)清理或失效对应Cache Line,并使用[asc_sync_data_barrier](../../sync/intra_core_sync/asc_sync_data_barrier.md)保证相关访存操作的执行顺序和数据可见性。详情可参考[Scalar原子操作与DCache一致性](../../../../../guide/programming_guide/advanced_programming/memory_model/cache_coherence.md#scalar原子操作与dcache一致性)。 |
| 78 | 78 | ||
| 79 | ## 调用示例 | 79 | ## 调用示例 |
| 80 | 80 | ||
| @@ -73,8 +73,8 @@ __aicore__ inline int32_t asc_atomic_xor(__gm__ int32_t* address, | |||
| 73 | - `address`必须落在Global Memory地址空间。 | 73 | - `address`必须落在Global Memory地址空间。 |
| 74 | - `address`需按`sizeof(dtype)`字节对齐。 | 74 | - `address`需按`sizeof(dtype)`字节对齐。 |
| 75 | - 对同一`address`的并发调用以原子方式完成“读取、计算、写回”,不会丢失更新;最终写入结果为各参与值的按位异或结果。 | 75 | - 对同一`address`的并发调用以原子方式完成“读取、计算、写回”,不会丢失更新;最终写入结果为各参与值的按位异或结果。 |
| 76 | -- 本接口运行在标量流水(`PIPE_S`)上,同一标量流水内的数据依赖由指令执行顺序保证。若本接口与`PIPE_MTE2`或`PIPE_MTE3`上的数据搬运指令访问同一GM地址,且执行顺序影响结果,编译器无法自动完成跨流水同步,调用方需按实际依赖插入[asc_sync_pipe](../../sync/asc_sync_pipe.md),或配合使用[asc_sync_notify](../../sync/asc_sync_notify.md)与[asc_sync_wait](../../sync/asc_sync_wait.md)保证执行顺序。 | 76 | +- 本接口运行在标量流水(`PIPE_S`)上,同一标量流水内的数据依赖由指令执行顺序保证。若本接口与`PIPE_MTE2`或`PIPE_MTE3`上的数据搬运指令访问同一GM地址,且执行顺序影响结果,编译器无法自动完成跨流水同步,调用方需按实际依赖插入[asc_sync_pipe](../../sync/intra_core_sync/asc_sync_pipe.md),或配合使用[asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)与[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)保证执行顺序。 |
| 77 | -- 本接口访问GM时绕过DCache,不维护缓存一致性。若其他核或其他通路通过缓存访问同一GM地址,调用方需使用[asc_dcci](../../cache_ctrl/asc_dcci.md)清理或失效对应Cache Line,并使用[asc_sync_data_barrier](../../sync/asc_sync_data_barrier.md)保证相关访存操作的执行顺序和数据可见性。详情可参考[Scalar原子操作与DCache一致性](../../../../../guide/programming_guide/advanced_programming/memory_model/cache_coherence.md#scalar原子操作与dcache一致性)。 | 77 | +- 本接口访问GM时绕过DCache,不维护缓存一致性。若其他核或其他通路通过缓存访问同一GM地址,调用方需使用[asc_dcci](../../cache_ctrl/asc_dcci.md)清理或失效对应Cache Line,并使用[asc_sync_data_barrier](../../sync/intra_core_sync/asc_sync_data_barrier.md)保证相关访存操作的执行顺序和数据可见性。详情可参考[Scalar原子操作与DCache一致性](../../../../../guide/programming_guide/advanced_programming/memory_model/cache_coherence.md#scalar原子操作与dcache一致性)。 |
| 78 | 78 | ||
| 79 | ## 调用示例 | 79 | ## 调用示例 |
| 80 | 80 | ||
| @@ -85,7 +85,7 @@ C API文档按最细粒度公共头文件归类。除试验接口外,整体使 | |||
| 85 | |[asc_get_system_cycle](utils/sys_var/asc_get_system_cycle.md)|获取当前系统cycle数。|`c_api/utils/sys_var.h`| | 85 | |[asc_get_system_cycle](utils/sys_var/asc_get_system_cycle.md)|获取当前系统cycle数。|`c_api/utils/sys_var.h`| |
| 86 | |[asc_get_system_clock](utils/sys_var/asc_get_system_clock.md)|获取当前系统时钟时间值(微秒)。|`c_api/utils/sys_var.h`| | 86 | |[asc_get_system_clock](utils/sys_var/asc_get_system_clock.md)|获取当前系统时钟时间值(微秒)。|`c_api/utils/sys_var.h`| |
| 87 | |[asc_get_vf_len](utils/sys_var/asc_get_vf_len.md)|获取Tensor位宽VL(Vector Length)的大小。|`c_api/utils/sys_var.h`| | 87 | |[asc_get_vf_len](utils/sys_var/asc_get_vf_len.md)|获取Tensor位宽VL(Vector Length)的大小。|`c_api/utils/sys_var.h`| |
| 88 | -|[asc_set_ffts_base_addr](utils/sys_var/asc_set_ffts_base_addr.md)|在[asc_sync_block_arrive](sync/asc_sync_block_arrive.md)和[asc_sync_block_wait](sync/asc_sync_block_wait.md)之前使用,设置核间同步寄存器的基地址。|`c_api/utils/sys_var.h`| | 88 | +|[asc_set_ffts_base_addr](utils/sys_var/asc_set_ffts_base_addr.md)|在[asc_sync_block_arrive](sync/inter_core_sync/asc_sync_block_arrive.md)和[asc_sync_block_wait](sync/inter_core_sync/asc_sync_block_wait.md)之前使用,设置核间同步寄存器的基地址。|`c_api/utils/sys_var.h`| |
| 89 | 89 | ||
| 90 | ## 矩阵计算 | 90 | ## 矩阵计算 |
| 91 | 91 | ||
| @@ -702,26 +702,33 @@ C API文档按最细粒度公共头文件归类。除试验接口外,整体使 | |||
| 702 | 702 | ||
| 703 | ## 同步控制 | 703 | ## 同步控制 |
| 704 | 704 | ||
| 705 | +### 核内同步 | ||
| 706 | + | ||
| 705 | |API名称|说明|最细粒度公共头文件| | 707 | |API名称|说明|最细粒度公共头文件| |
| 706 | |---|---|---| | 708 | |---|---|---| |
| 707 | -|[asc_lock](sync/asc_lock.md)|用于AI Core内部异步流水线同步的接口。|`c_api/sync/sync.h`| | 709 | +|[asc_lock](sync/intra_core_sync/asc_lock.md)|用于AI Core内部异步流水线同步的接口。|`c_api/sync/sync.h`| |
| 708 | -|[asc_sync](sync/asc_sync.md)|等待所有流水线操作完成。|`c_api/sync/sync.h`| | 710 | +|[asc_sync](sync/intra_core_sync/asc_sync.md)|等待所有流水线操作完成。|`c_api/sync/sync.h`| |
| 709 | -|[asc_sync_block_arrive](sync/asc_sync_block_arrive.md)|该指令用于发送同步信息数据到核间同步寄存器,设置同步点。|`c_api/sync/sync.h`| | 711 | +|[asc_sync_data_barrier](sync/intra_core_sync/asc_sync_data_barrier.md)|用于阻塞后续的指令执行,直到所有之前的内存访问指令(需要等待的内存位置可以通过参数控制)执行结束。|`c_api/sync/sync.h`| |
| 710 | -|[asc_sync_block_wait](sync/asc_sync_block_wait.md)|和[asc_sync_block_arrive](sync/asc_sync_block_arrive.md)配合使用(通过flag_id关联),用于等待所有同步对象到达flag_id对应的同步点。|`c_api/sync/sync.h`| | 712 | +|[asc_sync_mte2](sync/intra_core_sync/asc_sync_mte2.md)|等待PIPE_MTE2流水完成。|`c_api/sync/sync.h`| |
| 711 | -|[asc_sync_data_barrier](sync/asc_sync_data_barrier.md)|用于阻塞后续的指令执行,直到所有之前的内存访问指令(需要等待的内存位置可以通过参数控制)执行结束。|`c_api/sync/sync.h`| | 713 | +|[asc_sync_mte3](sync/intra_core_sync/asc_sync_mte3.md)|等待PIPE_MTE3流水完成。|`c_api/sync/sync.h`| |
| 712 | -|[asc_sync_inter_arrive](sync/asc_sync_inter_arrive.md)|和[asc_sync_inter_wait](sync/asc_sync_inter_wait.md)配合使用(通过flag_id关联),用于组间block的信号同步。|`c_api/sync/sync.h`| | 714 | +|[asc_sync_notify](sync/intra_core_sync/asc_sync_notify.md)|设置同步标志。|`c_api/sync/sync.h`| |
| 713 | -|[asc_sync_inter_wait](sync/asc_sync_inter_wait.md)|等待block内同步标志。|`c_api/sync/sync.h`| | 715 | +|[asc_sync_pipe](sync/intra_core_sync/asc_sync_pipe.md)|等待指定流水线操作完成。|`c_api/sync/sync.h`| |
| 714 | -|[asc_sync_intra_arrive](sync/asc_sync_intra_arrive.md)|向核间同步寄存器发送同步信号。|`c_api/sync/sync.h`| | 716 | +|[asc_sync_vec](sync/intra_core_sync/asc_sync_vec.md)|同步所有流水线。|`c_api/sync/sync.h`| |
| 715 | -|[asc_sync_intra_wait](sync/asc_sync_intra_wait.md)|等待核间同步寄存器同步标志。|`c_api/sync/sync.h`| | 717 | +|[asc_sync_wait](sync/intra_core_sync/asc_sync_wait.md)|等待同步标志。|`c_api/sync/sync.h`| |
| 716 | -|[asc_sync_mte2](sync/asc_sync_mte2.md)|等待PIPE_MTE2流水完成。|`c_api/sync/sync.h`| | 718 | +|[asc_unlock](sync/intra_core_sync/asc_unlock.md)|释放缓存。|`c_api/sync/sync.h`| |
| 717 | -|[asc_sync_mte3](sync/asc_sync_mte3.md)|等待PIPE_MTE3流水完成。|`c_api/sync/sync.h`| | 719 | + |
| 718 | -|[asc_sync_notify](sync/asc_sync_notify.md)|设置同步标志。|`c_api/sync/sync.h`| | 720 | +### 核间同步 |
| 719 | -|[asc_sync_pipe](sync/asc_sync_pipe.md)|等待指定流水线操作完成。|`c_api/sync/sync.h`| | 721 | + |
| 720 | -|[asc_sync_subblock_arrive](sync/asc_sync_subblock_arrive.md)|和[asc_sync_subblock_wait](sync/asc_sync_subblock_wait.md)配合使用(通过flag_id关联),用于组内subblock间的信号同步。|`c_api/sync/sync.h`| | 722 | +|API名称|说明|最细粒度公共头文件| |
| 721 | -|[asc_sync_subblock_wait](sync/asc_sync_subblock_wait.md)|等待subblock间同步标志。|`c_api/sync/sync.h`| | 723 | +|---|---|---| |
| 722 | -|[asc_sync_vec](sync/asc_sync_vec.md)|同步所有流水线。|`c_api/sync/sync.h`| | 724 | +|[asc_sync_block_arrive](sync/inter_core_sync/asc_sync_block_arrive.md)|该指令用于发送同步信息数据到核间同步寄存器,设置同步点。|`c_api/sync/sync.h`| |
| 723 | -|[asc_sync_wait](sync/asc_sync_wait.md)|等待同步标志。|`c_api/sync/sync.h`| | 725 | +|[asc_sync_block_wait](sync/inter_core_sync/asc_sync_block_wait.md)|和[asc_sync_block_arrive](sync/inter_core_sync/asc_sync_block_arrive.md)配合使用(通过flag_id关联),用于等待所有同步对象到达flag_id对应的同步点。|`c_api/sync/sync.h`| |
| 724 | -|[asc_unlock](sync/asc_unlock.md)|释放缓存。|`c_api/sync/sync.h`| | 726 | +|[asc_sync_inter_arrive](sync/inter_core_sync/asc_sync_inter_arrive.md)|和[asc_sync_inter_wait](sync/inter_core_sync/asc_sync_inter_wait.md)配合使用(通过flag_id关联),用于组间block的信号同步。|`c_api/sync/sync.h`| |
| 727 | +|[asc_sync_inter_wait](sync/inter_core_sync/asc_sync_inter_wait.md)|等待block内同步标志。|`c_api/sync/sync.h`| | ||
| 728 | +|[asc_sync_intra_arrive](sync/inter_core_sync/asc_sync_intra_arrive.md)|向核间同步寄存器发送同步信号。|`c_api/sync/sync.h`| | ||
| 729 | +|[asc_sync_intra_wait](sync/inter_core_sync/asc_sync_intra_wait.md)|等待核间同步寄存器同步标志。|`c_api/sync/sync.h`| | ||
| 730 | +|[asc_sync_subblock_arrive](sync/inter_core_sync/asc_sync_subblock_arrive.md)|和[asc_sync_subblock_wait](sync/inter_core_sync/asc_sync_subblock_wait.md)配合使用(通过flag_id关联),用于组内subblock间的信号同步。|`c_api/sync/sync.h`| | ||
| 731 | +|[asc_sync_subblock_wait](sync/inter_core_sync/asc_sync_subblock_wait.md)|等待subblock间同步标志。|`c_api/sync/sync.h`| | ||
| 725 | 732 | ||
| 726 | ## 其他操作 | 733 | ## 其他操作 |
| 727 | 734 | ||
| @@ -52,7 +52,7 @@ PIPE_S | |||
| 52 | 52 | ||
| 53 | ## 约束说明 | 53 | ## 约束说明 |
| 54 | 54 | ||
| 55 | -在调用`asc_dci`之前,必须调用[asc_sync_data_barrier](../sync/asc_sync_data_barrier.md),并将参数设置为`mem_dsb_t::DSB_ALL`,等待此前的内存访问指令执行结束,再使整个数据缓存失效。调用顺序如下: | 55 | +在调用`asc_dci`之前,必须调用[asc_sync_data_barrier](../sync/intra_core_sync/asc_sync_data_barrier.md),并将参数设置为`mem_dsb_t::DSB_ALL`,等待此前的内存访问指令执行结束,再使整个数据缓存失效。调用顺序如下: |
| 56 | 56 | ||
| 57 | ```cpp | 57 | ```cpp |
| 58 | asc_sync_data_barrier(mem_dsb_t::DSB_ALL); | 58 | asc_sync_data_barrier(mem_dsb_t::DSB_ALL); |
| @@ -247,7 +247,7 @@ PIPE_M | |||
| 247 | 247 | ||
| 248 | - 同步约束说明: | 248 | - 同步约束说明: |
| 249 | 249 | ||
| 250 | - 针对输入矩阵沿K轴分块计算,并将结果累加到同一块L0C Buffer的场景,当`(m / 16) * (n / 16) < 10`时,需在相邻两次矩阵乘加指令之间调用[asc_sync_pipe](../sync/asc_sync_pipe.md),并将入参`pipe`设置为`PIPE_M`。 | 250 | + 针对输入矩阵沿K轴分块计算,并将结果累加到同一块L0C Buffer的场景,当`(m / 16) * (n / 16) < 10`时,需在相邻两次矩阵乘加指令之间调用[asc_sync_pipe](../sync/intra_core_sync/asc_sync_pipe.md),并将入参`pipe`设置为`PIPE_M`。 |
| 251 | 251 | ||
| 252 | - UnitFlag约束说明: | 252 | - UnitFlag约束说明: |
| 253 | 253 | ||
| @@ -170,7 +170,7 @@ PIPE_M | |||
| 170 | 170 | ||
| 171 | - 同步约束说明: | 171 | - 同步约束说明: |
| 172 | 172 | ||
| 173 | - 针对输入矩阵沿K轴分块计算,并将结果累加到同一块L0C Buffer的场景,当`(m / 16) * (n / 16) < 10`时,需在相邻两次矩阵乘加指令之间调用[asc_sync_pipe](../sync/asc_sync_pipe.md),并将入参`pipe`设置为`PIPE_M`。 | 173 | + 针对输入矩阵沿K轴分块计算,并将结果累加到同一块L0C Buffer的场景,当`(m / 16) * (n / 16) < 10`时,需在相邻两次矩阵乘加指令之间调用[asc_sync_pipe](../sync/intra_core_sync/asc_sync_pipe.md),并将入参`pipe`设置为`PIPE_M`。 |
| 174 | 174 | ||
| 175 | - UnitFlag约束说明: | 175 | - UnitFlag约束说明: |
| 176 | 176 | ||
| @@ -95,7 +95,7 @@ PIPE_MTE2 | |||
| 95 | - 本接口非AIC调用直接返回。 | 95 | - 本接口非AIC调用直接返回。 |
| 96 | - dst起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 96 | - dst起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 97 | - src起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 | 97 | - src起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 |
| 98 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 98 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 99 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 99 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 100 | 100 | ||
| 101 | ### 2D矩阵搬运模式约束 | 101 | ### 2D矩阵搬运模式约束 |
Mdocs/zh/api/SIMD-API/c_api/cube_datamove/asc_copy_gm2l1/asc_copy_gm2l1_highdim_split_arch_3510.md+1-1
| @@ -81,7 +81,7 @@ PIPE_MTE2 | |||
| 81 | - 本接口仅在AIC上生效,非AIC调用直接返回。 | 81 | - 本接口仅在AIC上生效,非AIC调用直接返回。 |
| 82 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 82 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 83 | - `src`起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 | 83 | - `src`起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 |
| 84 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 84 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 85 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 85 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 86 | 86 | ||
| 87 | ### 高维切分数据搬运约束 | 87 | ### 高维切分数据搬运约束 |
| @@ -130,7 +130,7 @@ PIPE_MTE2 | |||
| 130 | - 本接口非AIC调用直接返回。 | 130 | - 本接口非AIC调用直接返回。 |
| 131 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则触发异常。 | 131 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则触发异常。 |
| 132 | - `src`起始地址需1字节对齐(Global Memory对齐要求),不满足触发异常。 | 132 | - `src`起始地址需1字节对齐(Global Memory对齐要求),不满足触发异常。 |
| 133 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 133 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 134 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移与搬运大小之和不可越界,否则触发目的地址越界异常。 | 134 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移与搬运大小之和不可越界,否则触发目的地址越界异常。 |
| 135 | - `burst_len`、`burst_count`、`src_stride`、`dst_stride`、`left_padding_count`与`right_padding_count`需满足参数说明的取值范围,否则会导致搬运结果不符合预期。 | 135 | - `burst_len`、`burst_count`、`src_stride`、`dst_stride`、`left_padding_count`与`right_padding_count`需满足参数说明的取值范围,否则会导致搬运结果不符合预期。 |
| 136 | - `enable_data_select`设置为true时,或者左右填充模式(`left_padding_count`和`right_padding_count`任意不为0)时,须先调用[asc_set_gm2l1_pad](asc_set_gm2l1_pad.md)配置填充值。 | 136 | - `enable_data_select`设置为true时,或者左右填充模式(`left_padding_count`和`right_padding_count`任意不为0)时,须先调用[asc_set_gm2l1_pad](asc_set_gm2l1_pad.md)配置填充值。 |
| @@ -103,7 +103,7 @@ PIPE_MTE2 | |||
| 103 | - 本接口非AIC调用直接返回。 | 103 | - 本接口非AIC调用直接返回。 |
| 104 | - `dst`的起始地址要求32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 104 | - `dst`的起始地址要求32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 105 | - `src`的起始地址要求1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 | 105 | - `src`的起始地址要求1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 |
| 106 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 106 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 107 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 | 107 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 |
| 108 | 108 | ||
| 109 | ### DN2Nz约束 | 109 | ### DN2Nz约束 |
Mdocs/zh/api/SIMD-API/c_api/cube_datamove/asc_copy_gm2l1_nd2nz/asc_copy_gm2l1_nd2nz_arch_3510.md+1-1
| @@ -107,7 +107,7 @@ PIPE_MTE2 | |||
| 107 | - 本接口非AIC调用直接返回。 | 107 | - 本接口非AIC调用直接返回。 |
| 108 | - `dst`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 108 | - `dst`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 109 | - `src`起始地址需要按照1字节对齐(GM对齐要求),否则会导致搬运异常。 | 109 | - `src`起始地址需要按照1字节对齐(GM对齐要求),否则会导致搬运异常。 |
| 110 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 110 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 111 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 | 111 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 |
| 112 | 112 | ||
| 113 | ### ND2Nz搬运约束 | 113 | ### ND2Nz搬运约束 |
| @@ -156,7 +156,7 @@ PIPE_FIX | |||
| 156 | - 本接口仅在AIC上生效,非AIC调用直接返回。 | 156 | - 本接口仅在AIC上生效,非AIC调用直接返回。 |
| 157 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 157 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 158 | - `src`起始地址需64字节对齐(L0C Buffer对齐要求,`src`为`int32_t`或`float`时),否则会导致搬运异常。 | 158 | - `src`起始地址需64字节对齐(L0C Buffer对齐要求,`src`为`int32_t`或`float`时),否则会导致搬运异常。 |
| 159 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 159 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 160 | - L0C Buffer容量上限:L0C Buffer总容量256KB,`src`偏移加搬运大小不可越界,否则触发异常。 | 160 | - L0C Buffer容量上限:L0C Buffer总容量256KB,`src`偏移加搬运大小不可越界,否则触发异常。 |
| 161 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移加搬运大小不可越界,否则触发异常。 | 161 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移加搬运大小不可越界,否则触发异常。 |
| 162 | 162 | ||
| @@ -163,7 +163,7 @@ PIPE_FIX | |||
| 163 | - 本接口非AIC调用直接返回。 | 163 | - 本接口非AIC调用直接返回。 |
| 164 | - `dst`起始地址需要按照32字节对齐,否则触发异常。 | 164 | - `dst`起始地址需要按照32字节对齐,否则触发异常。 |
| 165 | - `src`起始地址需要按照64字节对齐,否则触发异常。 | 165 | - `src`起始地址需要按照64字节对齐,否则触发异常。 |
| 166 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 166 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 167 | - UB容量上限:UB总容量为256KB,默认预留6KB SIMD VF栈与2KB Ascend C预留空间后可用248KB;SIMD与SIMT混编时再划分32KB~128KB作Data Cache,可用容量进一步减少。dst偏移量与搬运大小之和不可超过实际可用容量,否则触发写溢出异常。 | 167 | - UB容量上限:UB总容量为256KB,默认预留6KB SIMD VF栈与2KB Ascend C预留空间后可用248KB;SIMD与SIMT混编时再划分32KB~128KB作Data Cache,可用容量进一步减少。dst偏移量与搬运大小之和不可超过实际可用容量,否则触发写溢出异常。 |
| 168 | - L0C Buffer容量上限:L0C Buffer总容量256KB,src偏移量与搬运大小之和不可超过L0C Buffer容量,否则触发读溢出异常。 | 168 | - L0C Buffer容量上限:L0C Buffer总容量256KB,src偏移量与搬运大小之和不可超过L0C Buffer容量,否则触发读溢出异常。 |
| 169 | - Nz矩阵以16×16个元素为一个基本分形。边界分形中超出`n_size`或`m_size`指定范围的数据不属于有效搬运结果。 | 169 | - Nz矩阵以16×16个元素为一个基本分形。边界分形中超出`n_size`或`m_size`指定范围的数据不属于有效搬运结果。 |
| @@ -122,7 +122,7 @@ PIPE_MTE1 | |||
| 122 | - dst起始地址需64字节对齐(BiasTable Buffer对齐要求),src起始地址需32字节对齐(L1 Buffer对齐要求),否则触发异常。 | 122 | - dst起始地址需64字节对齐(BiasTable Buffer对齐要求),src起始地址需32字节对齐(L1 Buffer对齐要求),否则触发异常。 |
| 123 | - BiasTable Buffer容量上限4KB,dst偏移与搬运大小之和不可越界,否则触发写溢出异常。 | 123 | - BiasTable Buffer容量上限4KB,dst偏移与搬运大小之和不可越界,否则触发写溢出异常。 |
| 124 | - L1 Buffer容量上限512KB,src偏移与搬运大小之和不可越界,否则触发读异常。 | 124 | - L1 Buffer容量上限512KB,src偏移与搬运大小之和不可越界,否则触发读异常。 |
| 125 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 125 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 126 | - n_burst为0时不执行搬运,本接口被视为NOP(空操作)。 | 126 | - n_burst为0时不执行搬运,本接口被视为NOP(空操作)。 |
| 127 | - dtype为`float`或`int32_t`时,len_burst与dst_gap均必须2对齐(即取值为偶数),size/32需为偶数,否则触发搬运异常。 | 127 | - dtype为`float`或`int32_t`时,len_burst与dst_gap均必须2对齐(即取值为偶数),size/32需为偶数,否则触发搬运异常。 |
| 128 | - conv_control开启(非0)时dtype必须为`half`,否则触发搬运异常,传入非0/1的值仅最低位生效(如2等价于0即转换关闭、3等价于1即转换开启)。 | 128 | - conv_control开启(非0)时dtype必须为`half`,否则触发搬运异常,传入非0/1的值仅最低位生效(如2等价于0即转换关闭、3等价于1即转换开启)。 |
| @@ -87,7 +87,7 @@ PIPE_FIX | |||
| 87 | - dst起始地址根据功能不同对齐要求不同,对于随路量化场景,起始地址需要128B对齐,对于随路Relu场景起始地址需要64B对齐,否则触发搬运异常。 | 87 | - dst起始地址根据功能不同对齐要求不同,对于随路量化场景,起始地址需要128B对齐,对于随路Relu场景起始地址需要64B对齐,否则触发搬运异常。 |
| 88 | - L1 Buffer总容量512KB,src偏移与搬运大小之和不可越界,否则触发地址越界异常。 | 88 | - L1 Buffer总容量512KB,src偏移与搬运大小之和不可越界,否则触发地址越界异常。 |
| 89 | - Fixpipe Buffer对于随路量化场景,容量上限为4KB;对于随路Relu场景,容量上限为2KB。dst偏移与搬运大小之和越界时会截断处理,导致搬运结果不符合预期。 | 89 | - Fixpipe Buffer对于随路量化场景,容量上限为4KB;对于随路Relu场景,容量上限为2KB。dst偏移与搬运大小之和越界时会截断处理,导致搬运结果不符合预期。 |
| 90 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 90 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 91 | - 对于随路量化场景,`len_burst`与`dst_gap_size`场景取值必须为2的倍数,否则触发搬运异常。 | 91 | - 对于随路量化场景,`len_burst`与`dst_gap_size`场景取值必须为2的倍数,否则触发搬运异常。 |
| 92 | - `n_burst`或`size`设置为`0`时,不执行搬运,本接口被视为NOP(空操作)。 | 92 | - `n_burst`或`size`设置为`0`时,不执行搬运,本接口被视为NOP(空操作)。 |
| 93 | 93 | ||
| @@ -147,7 +147,7 @@ PIPE_MTE1 | |||
| 147 | - dst起始地址需要按照512字节对齐(L0A Buffer对齐要求),否则会导致搬运异常。 | 147 | - dst起始地址需要按照512字节对齐(L0A Buffer对齐要求),否则会导致搬运异常。 |
| 148 | - src起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 148 | - src起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 149 | - src位于L1 Buffer,dst位于L0A Buffer,两者分属不同的物理存储单元,不存在源操作数与目的操作数地址重叠的场景。 | 149 | - src位于L1 Buffer,dst位于L0A Buffer,两者分属不同的物理存储单元,不存在源操作数与目的操作数地址重叠的场景。 |
| 150 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 150 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 151 | - L0A Buffer容量上限:L0A Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 151 | - L0A Buffer容量上限:L0A Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 152 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 | 152 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 |
| 153 | 153 | ||
| @@ -130,7 +130,7 @@ PIPE_MTE1 | |||
| 130 | - 本接口非AIC调用直接返回。 | 130 | - 本接口非AIC调用直接返回。 |
| 131 | - dst起始地址需512字节对齐(L0A Buffer对齐要求),否则会导致搬运异常。 | 131 | - dst起始地址需512字节对齐(L0A Buffer对齐要求),否则会导致搬运异常。 |
| 132 | - src起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 132 | - src起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 133 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 133 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 134 | - L0A Buffer容量上限:L0A Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 134 | - L0A Buffer容量上限:L0A Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 135 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 | 135 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 |
| 136 | 136 | ||
| @@ -96,7 +96,7 @@ PIPE_MTE1 | |||
| 96 | - `dst`起始地址需要按照32字节对齐,否则触发地址对齐异常。 | 96 | - `dst`起始地址需要按照32字节对齐,否则触发地址对齐异常。 |
| 97 | - `src`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则触发地址对齐异常。 | 97 | - `src`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则触发地址对齐异常。 |
| 98 | - `src`位于L1 Buffer,`dst`指向L0A_MX Buffer,两者分属不同的物理存储单元,不存在源操作数与目的操作数地址重叠的场景。 | 98 | - `src`位于L1 Buffer,`dst`指向L0A_MX Buffer,两者分属不同的物理存储单元,不存在源操作数与目的操作数地址重叠的场景。 |
| 99 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 99 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 100 | - L0A_MX Buffer容量上限:L0A_MX Buffer总容量4KB,`dst`偏移量与搬运大小之和不可越界,否则触发地址溢出异常。 | 100 | - L0A_MX Buffer容量上限:L0A_MX Buffer总容量4KB,`dst`偏移量与搬运大小之和不可越界,否则触发地址溢出异常。 |
| 101 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`src`偏移量与源矩阵占用大小之和不可越界,否则触发地址溢出异常。 | 101 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`src`偏移量与源矩阵占用大小之和不可越界,否则触发地址溢出异常。 |
| 102 | 102 | ||
| @@ -132,7 +132,7 @@ PIPE_MTE1 | |||
| 132 | 132 | ||
| 133 | - 本接口非AIC调用直接返回。 | 133 | - 本接口非AIC调用直接返回。 |
| 134 | - src位于L1 Buffer,dst位于L0B Buffer,二者位于不同的物理存储单元,不存在地址重叠。 | 134 | - src位于L1 Buffer,dst位于L0B Buffer,二者位于不同的物理存储单元,不存在地址重叠。 |
| 135 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 135 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 136 | - L0B Buffer容量上限:L0B Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发写溢出异常。 | 136 | - L0B Buffer容量上限:L0B Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发写溢出异常。 |
| 137 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 | 137 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 |
| 138 | 138 | ||
| @@ -124,7 +124,7 @@ PIPE_MTE1 | |||
| 124 | - 本接口非AIC调用直接返回。 | 124 | - 本接口非AIC调用直接返回。 |
| 125 | - dst起始地址需512字节对齐(L0B Buffer对齐要求),否则会导致搬运异常。 | 125 | - dst起始地址需512字节对齐(L0B Buffer对齐要求),否则会导致搬运异常。 |
| 126 | - src起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 126 | - src起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 127 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 127 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 128 | - L0B Buffer容量上限:L0B Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 128 | - L0B Buffer容量上限:L0B Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 129 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 | 129 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 |
| 130 | 130 | ||
| @@ -82,7 +82,7 @@ PIPE_MTE1 | |||
| 82 | 82 | ||
| 83 | - 本接口非AIC调用直接返回。 | 83 | - 本接口非AIC调用直接返回。 |
| 84 | - `src`位于L1 Buffer,dst位于L0B_MX Buffer,二者位于不同的物理存储单元,不存在地址重叠。 | 84 | - `src`位于L1 Buffer,dst位于L0B_MX Buffer,二者位于不同的物理存储单元,不存在地址重叠。 |
| 85 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 85 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 86 | - L0B_MX Buffer容量上限:L0B_MX Buffer总容量4KB,`dst`偏移量与搬运大小之和不可越界,否则触发地址溢出异常。 | 86 | - L0B_MX Buffer容量上限:L0B_MX Buffer总容量4KB,`dst`偏移量与搬运大小之和不可越界,否则触发地址溢出异常。 |
| 87 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`src`偏移量与源矩阵占用大小之和不可越界,否则触发地址溢出异常。 | 87 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`src`偏移量与源矩阵占用大小之和不可越界,否则触发地址溢出异常。 |
| 88 | 88 | ||
Mdocs/zh/api/SIMD-API/c_api/cube_datamove/asc_copy_l12l0b_trans/asc_copy_l12l0b_trans_arch_3510.md+1-1
| @@ -152,7 +152,7 @@ PIPE_MTE1 | |||
| 152 | - 本接口非AIC调用直接返回。 | 152 | - 本接口非AIC调用直接返回。 |
| 153 | - src起始地址需32字节对齐(L1 Buffer对齐要求),否则触发地址对齐异常。 | 153 | - src起始地址需32字节对齐(L1 Buffer对齐要求),否则触发地址对齐异常。 |
| 154 | - dst起始地址需512字节对齐(L0B Buffer对齐要求),否则触发地址对齐异常。 | 154 | - dst起始地址需512字节对齐(L0B Buffer对齐要求),否则触发地址对齐异常。 |
| 155 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 155 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 156 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移与搬运大小之和不可越界,否则触发地址溢出异常。 | 156 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移与搬运大小之和不可越界,否则触发地址溢出异常。 |
| 157 | - L0B Buffer容量上限:L0B Buffer总容量64KB,dst偏移与搬运大小之和不可越界,否则触发地址溢出异常。 | 157 | - L0B Buffer容量上限:L0B Buffer总容量64KB,dst偏移与搬运大小之和不可越界,否则触发地址溢出异常。 |
| 158 | - `repeat`为0时表示不执行搬运,本接口被视为NOP(空操作)。 | 158 | - `repeat`为0时表示不执行搬运,本接口被视为NOP(空操作)。 |
| @@ -65,7 +65,7 @@ PIPE_MTE1 | |||
| 65 | - 本接口非AIC调用直接返回。 | 65 | - 本接口非AIC调用直接返回。 |
| 66 | - dst_addr起始地址需32字节对齐(UB对齐要求),否则会导致搬运异常。 | 66 | - dst_addr起始地址需32字节对齐(UB对齐要求),否则会导致搬运异常。 |
| 67 | - src_addr起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 67 | - src_addr起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 68 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 68 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 69 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与搬运大小之和不可超过L1 Buffer容量,否则触发读溢出异常。 | 69 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与搬运大小之和不可超过L1 Buffer容量,否则触发读溢出异常。 |
| 70 | - UB容量上限:UB总容量为256KB,默认预留6KB SIMD VF栈与2KB Ascend C预留空间后可用248KB;SIMD+SIMT混编时再划分32KB~128KB作Data Cache,可用容量进一步减少。dst偏移量与搬运大小之和不可超过实际可用容量,否则触发写溢出异常。 | 70 | - UB容量上限:UB总容量为256KB,默认预留6KB SIMD VF栈与2KB Ascend C预留空间后可用248KB;SIMD+SIMT混编时再划分32KB~128KB作Data Cache,可用容量进一步减少。dst偏移量与搬运大小之和不可超过实际可用容量,否则触发写溢出异常。 |
| 71 | - `burst_count`、`burst_len`、`src_gap`、`dst_gap`取值需满足参数说明中取值范围,不满足导致搬运结果不符合预期。 | 71 | - `burst_count`、`burst_len`、`src_gap`、`dst_gap`取值需满足参数说明中取值范围,不满足导致搬运结果不符合预期。 |
| @@ -92,7 +92,7 @@ PIPE_MTE2 | |||
| 92 | - 本接口非AIC调用直接返回。 | 92 | - 本接口非AIC调用直接返回。 |
| 93 | - `dst`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则触发地址对齐异常。 | 93 | - `dst`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则触发地址对齐异常。 |
| 94 | - L1 Buffer总容量为512KB。`dst`偏移量与实际占用空间之和不可超过L1 Buffer容量,否则触发地址溢出异常。 | 94 | - L1 Buffer总容量为512KB。`dst`偏移量与实际占用空间之和不可超过L1 Buffer容量,否则触发地址溢出异常。 |
| 95 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 95 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 96 | - `value`的数据类型需与`dst`的数据类型满足函数原型章节中的组合关系。两者数据类型不相同时,需要根据`dst`的数据类型转换`value`的值,具体请参考调用示例。 | 96 | - `value`的数据类型需与`dst`的数据类型满足函数原型章节中的组合关系。两者数据类型不相同时,需要根据`dst`的数据类型转换`value`的值,具体请参考调用示例。 |
| 97 | 97 | ||
| 98 | ## 调用示例 | 98 | ## 调用示例 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # asc_mutex_execute_mode | 1 | # asc_mutex_execute_mode |
| 2 | 2 | ||
| 3 | -`asc_mutex_execute_mode`用于选择互斥锁的阻塞或非阻塞执行模式,作为[asc_lock](../../sync/asc_lock.md)和[asc_unlock](../../sync/asc_unlock.md)接口的`mode`参数类型。兼容类型名`ascMutexExecuteMode`是该类型的别名。 | 3 | +`asc_mutex_execute_mode`用于选择互斥锁的阻塞或非阻塞执行模式,作为[asc_lock](../../sync/intra_core_sync/asc_lock.md)和[asc_unlock](../../sync/intra_core_sync/asc_unlock.md)接口的`mode`参数类型。兼容类型名`ascMutexExecuteMode`是该类型的别名。 |
| 4 | 4 | ||
| 5 | 头文件路径为:`"c_api/defs/enum.h"`。 | 5 | 头文件路径为:`"c_api/defs/enum.h"`。 |
| 6 | 6 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -该接口废弃,请通过[asc_abs](../vector_compute/vector_arith/asc_abs.md)和同步接口[asc_sync](../sync/asc_sync.md)实现精细化调优,达成最优性能。 | 31 | +该接口废弃,请通过[asc_abs](../vector_compute/vector_arith/asc_abs.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)实现精细化调优,达成最优性能。 |
| 32 | 32 | ||
| 33 | 按元素取绝对值,计算公式如下: | 33 | 按元素取绝对值,计算公式如下: |
| 34 | $$ | 34 | $$ |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_add_relu_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_fused/asc_add_relu.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_add_relu_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_fused/asc_add_relu.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 按元素求和,再进行Relu计算(结果和0对比取较大值),并提供转换最终结果的数据类型的功能(s162s8、f322f16、f162s8)。计算公式如下: | 33 | 按元素求和,再进行Relu计算(结果和0对比取较大值),并提供转换最终结果的数据类型的功能(s162s8、f322f16、f162s8)。计算公式如下: |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_add_scalar_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_arith/asc_add_scalar.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_add_scalar_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_arith/asc_add_scalar.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 执行矢量加法运算。计算公式如下: | 33 | 执行矢量加法运算。计算公式如下: |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_add_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_arith/asc_add.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_add_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_arith/asc_add.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 执行矢量加法运算。计算公式如下: | 33 | 执行矢量加法运算。计算公式如下: |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_and_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_logic/asc_and.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_and_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_logic/asc_and.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 执行矢量与运算。计算公式如下: | 33 | 执行矢量与运算。计算公式如下: |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_axpy_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_fused/asc_axpy.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_axpy_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_fused/asc_axpy.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 源操作数src中每个元素与标量value求积后和目的操作数dst中的对应元素相加计算公式如下: | 33 | 源操作数src中每个元素与标量value求积后和目的操作数dst中的对应元素相加计算公式如下: |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_bfloat162float_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_convert/asc_bfloat162float.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_bfloat162float_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_convert/asc_bfloat162float.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将bfloat16_t类型数据转为float,无舍入模式。 | 33 | 将bfloat16_t类型数据转为float,无舍入模式。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_bfloat162int32_rn_sync`、`asc_bfloat162int32_rna_sync`、`asc_bfloat162int32_rd_sync`、`asc_bfloat162int32_ru_sync`和`asc_bfloat162int32_rz_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_convert/asc_bfloat162int32.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_bfloat162int32_rn_sync`、`asc_bfloat162int32_rna_sync`、`asc_bfloat162int32_rd_sync`、`asc_bfloat162int32_ru_sync`和`asc_bfloat162int32_rz_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_convert/asc_bfloat162int32.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将bfloat16_t类型数据转换为int32_t类型,并支持多种舍入模式: | 33 | 将bfloat16_t类型数据转换为int32_t类型,并支持多种舍入模式: |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_bitsort_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_sort/asc_bitsort.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_bitsort_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_sort/asc_bitsort.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 位图排序函数,一次迭代可以完成32个元素的排序,数据按如下描述结构进行保存: | 33 | 位图排序函数,一次迭代可以完成32个元素的排序,数据按如下描述结构进行保存: |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_brcb_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_broadcast/asc_brcb.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_brcb_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_broadcast/asc_brcb.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 给定一个输入矢量,每一次取输入矢量中的8个数填充到结果矢量的8个datablock(32Bytes)中去,每个数对应一个datablock。 | 33 | 给定一个输入矢量,每一次取输入矢量中的8个数填充到结果矢量的8个datablock(32Bytes)中去,每个数对应一个datablock。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2l0a_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l0a.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2l0a_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l0a.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从GM搬运到L0A Buffer。 | 33 | 将数据从GM搬运到L0A Buffer。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2l0b_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l0b.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2l0b_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l0b.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将矩阵数据从Global Memory搬运到L0B Buffer。 | 33 | 将矩阵数据从Global Memory搬运到L0B Buffer。 |
| 34 | 34 | ||
| @@ -118,7 +118,7 @@ PIPE_MTE2 | |||
| 118 | - 本接口非AIC调用直接返回。 | 118 | - 本接口非AIC调用直接返回。 |
| 119 | - dst起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 119 | - dst起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 120 | - src起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 | 120 | - src起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 |
| 121 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 121 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 122 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 122 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 123 | 123 | ||
| 124 | ### 2D矩阵搬运模式约束 | 124 | ### 2D矩阵搬运模式约束 |
| @@ -26,7 +26,7 @@ | |||
| 26 | 26 | ||
| 27 | ## 功能说明 | 27 | ## 功能说明 |
| 28 | 28 | ||
| 29 | -**`asc_copy_gm2l1_align`的旧常规重载和`asc_copy_gm2l1_align_sync`接口已废弃。请使用带`asc_load_l2_cache_mode l2_cache_mode`参数的[asc_copy_gm2l1_align](../cube_datamove/asc_copy_gm2l1_align.md)接口;同步场景请额外调用[asc_sync](../sync/asc_sync.md)。** | 29 | +**`asc_copy_gm2l1_align`的旧常规重载和`asc_copy_gm2l1_align_sync`接口已废弃。请使用带`asc_load_l2_cache_mode l2_cache_mode`参数的[asc_copy_gm2l1_align](../cube_datamove/asc_copy_gm2l1_align.md)接口;同步场景请额外调用[asc_sync](../sync/intra_core_sync/asc_sync.md)。** |
| 30 | 30 | ||
| 31 | 头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。 | 31 | 头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。 |
| 32 | 32 | ||
| @@ -152,7 +152,7 @@ PIPE_MTE2 | |||
| 152 | - 本接口非AIC调用直接返回。 | 152 | - 本接口非AIC调用直接返回。 |
| 153 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则触发异常。 | 153 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则触发异常。 |
| 154 | - `src`起始地址需1字节对齐(Global Memory对齐要求),不满足触发异常。 | 154 | - `src`起始地址需1字节对齐(Global Memory对齐要求),不满足触发异常。 |
| 155 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 155 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 156 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移与搬运大小之和不可越界,否则触发目的地址越界异常。 | 156 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移与搬运大小之和不可越界,否则触发目的地址越界异常。 |
| 157 | - `len_burst`、`n_burst`、`burst_src_stride`、`burst_dst_stride`、`left_padding_count`与`right_padding_count`需满足参数说明的取值范围,否则会导致搬运结果不符合预期。 | 157 | - `len_burst`、`n_burst`、`burst_src_stride`、`burst_dst_stride`、`left_padding_count`与`right_padding_count`需满足参数说明的取值范围,否则会导致搬运结果不符合预期。 |
| 158 | - `data_select_bit`设置为true时,或者左右填充模式(`left_padding_count`和`right_padding_count`任意不为0)时,须先调用[asc_set_gm2l1_pad](../cube_datamove/asc_set_gm2l1_pad.md)配置填充值。 | 158 | - `data_select_bit`设置为true时,或者左右填充模式(`left_padding_count`和`right_padding_count`任意不为0)时,须先调用[asc_set_gm2l1_pad](../cube_datamove/asc_set_gm2l1_pad.md)配置填充值。 |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2l1_align_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1_align.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2l1_align_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1_align.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Global Memory搬运到L1 Buffer,提供非32B对齐搬运能力,搬运过程中对支持对数据进行padding。 | 33 | 将数据从Global Memory搬运到L1 Buffer,提供非32B对齐搬运能力,搬运过程中对支持对数据进行padding。 |
| 34 | 34 | ||
| @@ -125,7 +125,7 @@ PIPE_MTE2 | |||
| 125 | - 本接口非AIC调用直接返回。 | 125 | - 本接口非AIC调用直接返回。 |
| 126 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则触发异常。 | 126 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则触发异常。 |
| 127 | - `src`起始地址需1字节对齐(Global Memory对齐要求),不满足触发异常。 | 127 | - `src`起始地址需1字节对齐(Global Memory对齐要求),不满足触发异常。 |
| 128 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 128 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 129 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移与搬运大小之和不可越界,否则触发目的地址越界异常。 | 129 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移与搬运大小之和不可越界,否则触发目的地址越界异常。 |
| 130 | - `len_burst`、`n_burst`、`burst_src_stride`、`burst_dst_stride`、`left_padding_count`与`right_padding_count`需满足参数说明的取值范围,否则会导致搬运结果不符合预期。 | 130 | - `len_burst`、`n_burst`、`burst_src_stride`、`burst_dst_stride`、`left_padding_count`与`right_padding_count`需满足参数说明的取值范围,否则会导致搬运结果不符合预期。 |
| 131 | - `data_select_bit`设置为true时,或者左右填充模式(`left_padding_count`和`right_padding_count`任意不为0)时,须先调用[asc_set_gm2l1_pad](../cube_datamove/asc_set_gm2l1_pad.md)配置填充值。 | 131 | - `data_select_bit`设置为true时,或者左右填充模式(`left_padding_count`和`right_padding_count`任意不为0)时,须先调用[asc_set_gm2l1_pad](../cube_datamove/asc_set_gm2l1_pad.md)配置填充值。 |
| @@ -122,7 +122,7 @@ PIPE_MTE2 | |||
| 122 | - 本接口非AIC调用直接返回。 | 122 | - 本接口非AIC调用直接返回。 |
| 123 | - `dst`的起始地址要求32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 123 | - `dst`的起始地址要求32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 124 | - `src`的起始地址要求1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 | 124 | - `src`的起始地址要求1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 |
| 125 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 125 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 126 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 | 126 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 |
| 127 | 127 | ||
| 128 | ### DN2Nz约束 | 128 | ### DN2Nz约束 |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2l1_dn2nz_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1_dn2nz.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2l1_dn2nz_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1_dn2nz.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Global Memory搬运到L1 Buffer,并在搬运过程中进行DN到Nz格式的转换,使其满足后续矩阵计算对分形列连续性的要求。 | 33 | 将数据从Global Memory搬运到L1 Buffer,并在搬运过程中进行DN到Nz格式的转换,使其满足后续矩阵计算对分形列连续性的要求。 |
| 34 | 34 | ||
| @@ -100,7 +100,7 @@ PIPE_MTE2 | |||
| 100 | - 本接口非AIC调用直接返回。 | 100 | - 本接口非AIC调用直接返回。 |
| 101 | - `dst`的起始地址要求32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 101 | - `dst`的起始地址要求32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 102 | - `src`的起始地址要求1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 | 102 | - `src`的起始地址要求1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 |
| 103 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 103 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 104 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 | 104 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 |
| 105 | 105 | ||
| 106 | ### DN2Nz约束 | 106 | ### DN2Nz约束 |
| @@ -86,7 +86,7 @@ PIPE_MTE2 | |||
| 86 | - 本接口仅在AIC上生效,非AIC调用直接返回。 | 86 | - 本接口仅在AIC上生效,非AIC调用直接返回。 |
| 87 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 87 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 88 | - `src`起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 | 88 | - `src`起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 |
| 89 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 89 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 90 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 90 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 91 | 91 | ||
| 92 | ### 高维切分数据搬运约束 | 92 | ### 高维切分数据搬运约束 |
| @@ -134,7 +134,7 @@ PIPE_MTE2 | |||
| 134 | - 本接口非AIC调用直接返回。 | 134 | - 本接口非AIC调用直接返回。 |
| 135 | - `dst`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 135 | - `dst`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 136 | - `src`起始地址需要按照1字节对齐(GM对齐要求),否则会导致搬运异常。 | 136 | - `src`起始地址需要按照1字节对齐(GM对齐要求),否则会导致搬运异常。 |
| 137 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 137 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 138 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 | 138 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 |
| 139 | 139 | ||
| 140 | ### ND2Nz搬运约束 | 140 | ### ND2Nz搬运约束 |
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_gm2l1_nd2nz_sync_arch_2201_deprecated.md+1-1
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2l1_nd2nz_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1_nd2nz/asc_copy_gm2l1_nd2nz_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2l1_nd2nz_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1_nd2nz/asc_copy_gm2l1_nd2nz_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Global Memory (GM)搬运到Level 1 cache (L1),支持在数据搬运时进行ND格式到NZ格式的转换。 | 33 | 将数据从Global Memory (GM)搬运到Level 1 cache (L1),支持在数据搬运时进行ND格式到NZ格式的转换。 |
| 34 | 34 | ||
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_gm2l1_nd2nz_sync_arch_3510_deprecated.md+2-2
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2l1_nd2nz_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1_nd2nz/asc_copy_gm2l1_nd2nz_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2l1_nd2nz_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1_nd2nz/asc_copy_gm2l1_nd2nz_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Global Memory搬运到L1 Buffer,并在搬运过程中将源端按N维连续排布的ND格式数据转换为L1 Buffer侧的Nz分形排布,使其满足后续矩阵计算对分形列连续性的要求。该接口也适用于卷积格式NHWC(ND)转换为NC1HWC0格式等转换场景。 | 33 | 将数据从Global Memory搬运到L1 Buffer,并在搬运过程中将源端按N维连续排布的ND格式数据转换为L1 Buffer侧的Nz分形排布,使其满足后续矩阵计算对分形列连续性的要求。该接口也适用于卷积格式NHWC(ND)转换为NC1HWC0格式等转换场景。 |
| 34 | 34 | ||
| @@ -117,7 +117,7 @@ PIPE_MTE2 | |||
| 117 | - 本接口非AIC调用直接返回。 | 117 | - 本接口非AIC调用直接返回。 |
| 118 | - `dst`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 118 | - `dst`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 119 | - `src`起始地址需要按照1字节对齐(GM对齐要求),否则会导致搬运异常。 | 119 | - `src`起始地址需要按照1字节对齐(GM对齐要求),否则会导致搬运异常。 |
| 120 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 120 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 121 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 | 121 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`dst`偏移量与搬运大小之和不可越界,否则触发异常。 |
| 122 | 122 | ||
| 123 | ### ND2Nz搬运约束 | 123 | ### ND2Nz搬运约束 |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2l1_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1/asc_copy_gm2l1_2d_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2l1_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1/asc_copy_gm2l1_2d_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Global Memory搬运到L1 Buffer。以512字节的分形为单位,从GM中按行列方向的起始位置、步长切分提取多个分形矩阵搬运到L1 Buffer,搬运过程中不支持分形格式转换,用于矩阵计算所需的2D格式数据加载。 | 33 | 将数据从Global Memory搬运到L1 Buffer。以512字节的分形为单位,从GM中按行列方向的起始位置、步长切分提取多个分形矩阵搬运到L1 Buffer,搬运过程中不支持分形格式转换,用于矩阵计算所需的2D格式数据加载。 |
| 34 | 34 | ||
| @@ -94,7 +94,7 @@ PIPE_MTE2 | |||
| 94 | - 本接口非AIC调用直接返回。 | 94 | - 本接口非AIC调用直接返回。 |
| 95 | - dst起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 95 | - dst起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 96 | - src起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 | 96 | - src起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 |
| 97 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 97 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 98 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 98 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 99 | 99 | ||
| 100 | ### 2D矩阵搬运模式约束 | 100 | ### 2D矩阵搬运模式约束 |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2l1_sync`、`asc_copy_gm2l1_pad1_sync`、`asc_copy_gm2l1_pad2_sync`、`asc_copy_gm2l1_pad3_sync`、`asc_copy_gm2l1_pad4_sync`、`asc_copy_gm2l1_pad5_sync`、`asc_copy_gm2l1_pad6_sync`、`asc_copy_gm2l1_pad7_sync`和`asc_copy_gm2l1_pad8_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1/asc_copy_gm2l1_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2l1_sync`、`asc_copy_gm2l1_pad1_sync`、`asc_copy_gm2l1_pad2_sync`、`asc_copy_gm2l1_pad3_sync`、`asc_copy_gm2l1_pad4_sync`、`asc_copy_gm2l1_pad5_sync`、`asc_copy_gm2l1_pad6_sync`、`asc_copy_gm2l1_pad7_sync`和`asc_copy_gm2l1_pad8_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1/asc_copy_gm2l1_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将矩阵数据从Global Memory搬运到L1 Buffer中,并支持不同类型的pad模式。 | 33 | 将矩阵数据从Global Memory搬运到L1 Buffer中,并支持不同类型的pad模式。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2l1_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1/asc_copy_gm2l1_highdim_split_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2l1_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_gm2l1/asc_copy_gm2l1_highdim_split_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Global Memory搬运到L1 Buffer,数据搬运时格式和内容保持不变。高维切分是指能够通过配置数据块个数、单个数据块长度、地址偏移等搬运参数实现非连续搬运。并且此接口支持在搬运过程中按通道padding模式对32字节粒度的数据插入或移除padding。其中padding值需要通过[asc_set_gm2l1_padding](../cube_datamove/asc_set_gm2l1_padding.md)设置。 | 33 | 将数据从Global Memory搬运到L1 Buffer,数据搬运时格式和内容保持不变。高维切分是指能够通过配置数据块个数、单个数据块长度、地址偏移等搬运参数实现非连续搬运。并且此接口支持在搬运过程中按通道padding模式对32字节粒度的数据插入或移除padding。其中padding值需要通过[asc_set_gm2l1_padding](../cube_datamove/asc_set_gm2l1_padding.md)设置。 |
| 34 | 34 | ||
| @@ -83,7 +83,7 @@ PIPE_MTE2 | |||
| 83 | - 本接口仅在AIC上生效,非AIC调用直接返回。 | 83 | - 本接口仅在AIC上生效,非AIC调用直接返回。 |
| 84 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 84 | - `dst`起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 85 | - `src`起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 | 85 | - `src`起始地址需1字节对齐(Global Memory对齐要求),否则会导致搬运异常。 |
| 86 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 86 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 87 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 87 | - L1 Buffer容量上限:L1 Buffer总容量512KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 88 | 88 | ||
| 89 | ### 高维切分数据搬运约束 | 89 | ### 高维切分数据搬运约束 |
| @@ -98,6 +98,6 @@ PIPE_MTE2 | |||
| 98 | 98 | ||
| 99 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 99 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 100 | - 当`n_burst`、`len_burst`中任意一个值为0时,该接口被视为NOP(空操作)。 | 100 | - 当`n_burst`、`len_burst`中任意一个值为0时,该接口被视为NOP(空操作)。 |
| 101 | -- 如果需要执行多条`asc_copy_gm2ub_align`指令,且`asc_copy_gm2ub_align`指令的目的地址存在重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个`asc_copy_gm2ub_align`指令的串行化,防止出现异常数据。 | 101 | +- 如果需要执行多条`asc_copy_gm2ub_align`指令,且`asc_copy_gm2ub_align`指令的目的地址存在重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个`asc_copy_gm2ub_align`指令的串行化,防止出现异常数据。 |
| 102 | - 当`left_padding_num`或`right_padding_num`非0时,`enable_constant_pad`不生效,必须在搬运前调用`asc_set_copy_pad_val`配置填充值。`left_padding_num`、`right_padding_num`对应的填充数据大小均不能超过32字节。 | 102 | - 当`left_padding_num`或`right_padding_num`非0时,`enable_constant_pad`不生效,必须在搬运前调用`asc_set_copy_pad_val`配置填充值。`left_padding_num`、`right_padding_num`对应的填充数据大小均不能超过32字节。 |
| 103 | - 当`dst_stride`不等于`len_burst`时,`dst_stride`要求32字节对齐。 | 103 | - 当`dst_stride`不等于`len_burst`时,`dst_stride`要求32字节对齐。 |
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_gm2ub_align_sync_arch_2201_deprecated.md+2-2
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2ub_align_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_gm2ub_align/asc_copy_gm2ub_align_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2ub_align_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_gm2ub_align/asc_copy_gm2ub_align_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 提供数据非对齐搬运的功能,将数据从Global Memory (GM)搬运到Unified Buffer(UB),并支持8位/16位/32位数据类型搬运。 | 33 | 提供数据非对齐搬运的功能,将数据从Global Memory (GM)搬运到Unified Buffer(UB),并支持8位/16位/32位数据类型搬运。 |
| 34 | 34 | ||
| @@ -87,7 +87,7 @@ PIPE_MTE2 | |||
| 87 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 87 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 88 | - 当`burst_count`、`burst_len`中任意一个值为0时,该接口被视为NOP(空操作)。 | 88 | - 当`burst_count`、`burst_len`中任意一个值为0时,该接口被视为NOP(空操作)。 |
| 89 | - 当`size`值为0时,该接口被视为NOP(空操作)。 | 89 | - 当`size`值为0时,该接口被视为NOP(空操作)。 |
| 90 | -- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 | 90 | +- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 |
| 91 | - 同步计算包含同步等待。 | 91 | - 同步计算包含同步等待。 |
| 92 | - `left_padding_num`、`right_padding_num`对应的填充数据大小均不能超过32字节。 | 92 | - `left_padding_num`、`right_padding_num`对应的填充数据大小均不能超过32字节。 |
| 93 | 93 | ||
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_gm2ub_align_sync_arch_3510_deprecated.md+2-2
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2ub_align_sync`接口已废弃,请使用[asc_copy_gm2ub_align连续数据搬运](../vector_datamove/asc_copy_gm2ub_align/asc_copy_gm2ub_align_arch_3510.md#连续数据搬运)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2ub_align_sync`接口已废弃,请使用[asc_copy_gm2ub_align连续数据搬运](../vector_datamove/asc_copy_gm2ub_align/asc_copy_gm2ub_align_arch_3510.md#连续数据搬运)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 提供数据非对齐搬运的功能,将数据从Global Memory (GM)搬运到Unified Buffer(UB),并支持8位/16位/32位数据类型搬运。 | 33 | 提供数据非对齐搬运的功能,将数据从Global Memory (GM)搬运到Unified Buffer(UB),并支持8位/16位/32位数据类型搬运。 |
| 34 | 34 | ||
| @@ -76,6 +76,6 @@ PIPE_MTE2 | |||
| 76 | 76 | ||
| 77 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 77 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 78 | - 当`size`值为0时,该接口被视为NOP(空操作)。 | 78 | - 当`size`值为0时,该接口被视为NOP(空操作)。 |
| 79 | -- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 | 79 | +- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 |
| 80 | - 同步计算包含同步等待。 | 80 | - 同步计算包含同步等待。 |
| 81 | - 若`size`非32字节对齐,搬运数据会补齐至32字节对齐,目的UB需要预留补齐后的空间。手动填充时,调用`asc_set_copy_pad_val`配置填充值;自动填充时,由硬件填充dummy假数据,dummy假数据的值为数据块的第一个元素的值。 | 81 | - 若`size`非32字节对齐,搬运数据会补齐至32字节对齐,目的UB需要预留补齐后的空间。手动填充时,调用`asc_set_copy_pad_val`配置填充值;自动填充时,由硬件填充dummy假数据,dummy假数据的值为数据块的第一个元素的值。 |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2ub_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_gm2ub/asc_copy_gm2ub_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2ub_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_gm2ub/asc_copy_gm2ub_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Global Memory (GM)搬运到Unified Buffer(UB)。 | 33 | 将数据从Global Memory (GM)搬运到Unified Buffer(UB)。 |
| 34 | 34 | ||
| @@ -61,7 +61,7 @@ PIPE_MTE2 | |||
| 61 | ## 约束说明 | 61 | ## 约束说明 |
| 62 | 62 | ||
| 63 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 63 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 64 | -- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 | 64 | +- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 |
| 65 | - 同步计算包含同步等待。 | 65 | - 同步计算包含同步等待。 |
| 66 | - 当采用前n个数据搬运接口时,搬运数据大小要求32字节对齐。 | 66 | - 当采用前n个数据搬运接口时,搬运数据大小要求32字节对齐。 |
| 67 | 67 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_gm2ub_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_gm2ub/asc_copy_gm2ub_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_gm2ub_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_gm2ub/asc_copy_gm2ub_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Global Memory (GM) 搬运到 Unified Buffer(UB)。 | 33 | 将数据从Global Memory (GM) 搬运到 Unified Buffer(UB)。 |
| 34 | 34 | ||
| @@ -61,7 +61,7 @@ PIPE_MTE2 | |||
| 61 | ## 约束说明 | 61 | ## 约束说明 |
| 62 | 62 | ||
| 63 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 63 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 64 | -- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 | 64 | +- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 |
| 65 | - 同步计算包含同步等待。 | 65 | - 同步计算包含同步等待。 |
| 66 | - 当采用前n个数据搬运接口时,搬运数据大小要求32字节对齐。 | 66 | - 当采用前n个数据搬运接口时,搬运数据大小要求32字节对齐。 |
| 67 | - 当dst_stride不等于burst_len时,dst_stride要求32字节对齐。 | 67 | - 当dst_stride不等于burst_len时,dst_stride要求32字节对齐。 |
| @@ -26,7 +26,7 @@ | |||
| 26 | 26 | ||
| 27 | ## 功能说明 | 27 | ## 功能说明 |
| 28 | 28 | ||
| 29 | -**`asc_copy_l0c2gm`的旧参数形式及`asc_copy_l0c2gm_sync`接口已废弃。请使用[asc_copy_l0c2gm](../cube_datamove/asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)接口和[asc_sync](../sync/asc_sync.md)接口替代。** | 29 | +**`asc_copy_l0c2gm`的旧参数形式及`asc_copy_l0c2gm_sync`接口已废弃。请使用[asc_copy_l0c2gm](../cube_datamove/asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md)接口和[asc_sync](../sync/intra_core_sync/asc_sync.md)接口替代。** |
| 30 | 30 | ||
| 31 | 头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。 | 31 | 头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。 |
| 32 | 32 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l0c2gm_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l0c2gm/asc_copy_l0c2gm_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l0c2gm_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l0c2gm/asc_copy_l0c2gm_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 矩阵计算完成后,对结果进行量化处理,之后将处理结果搬运到GM中。量化模式共分为9种,分别为: | 33 | 矩阵计算完成后,对结果进行量化处理,之后将处理结果搬运到GM中。量化模式共分为9种,分别为: |
| 34 | - NoQuant:不开启量化功能。 | 34 | - NoQuant:不开启量化功能。 |
| @@ -26,7 +26,7 @@ | |||
| 26 | 26 | ||
| 27 | ## 功能说明 | 27 | ## 功能说明 |
| 28 | 28 | ||
| 29 | -**`asc_copy_l0c2l1`的旧参数形式及`asc_copy_l0c2l1_sync`接口已废弃。请使用[asc_copy_l0c2l1](../cube_datamove/asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)接口和[asc_sync](../sync/asc_sync.md)接口替代。** | 29 | +**`asc_copy_l0c2l1`的旧参数形式及`asc_copy_l0c2l1_sync`接口已废弃。请使用[asc_copy_l0c2l1](../cube_datamove/asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)接口和[asc_sync](../sync/intra_core_sync/asc_sync.md)接口替代。** |
| 30 | 30 | ||
| 31 | 头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。 | 31 | 头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。 |
| 32 | 32 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l0c2l1_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l0c2l1/asc_copy_l0c2l1_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l0c2l1_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l0c2l1/asc_copy_l0c2l1_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 矩阵计算完成后,对结果进行量化处理,之后将处理结果搬运到L1 Buffer中。量化模式共分为9种,分别为: | 33 | 矩阵计算完成后,对结果进行量化处理,之后将处理结果搬运到L1 Buffer中。量化模式共分为9种,分别为: |
| 34 | - NoQuant:不开启量化功能。 | 34 | - NoQuant:不开启量化功能。 |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l0c2l1_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l0c2l1_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l0c2l1/asc_copy_l0c2l1_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 该接口用于将矩阵计算的结果从L0C Buffer搬运至L1 Buffer中,并且在搬运过程中支持与其它接口组合使用,配置多种随路能力。(目前针对量化模式的支持尚不完全,具体支持情况请以[函数原型](#函数原型)中包含的接口为准) | 33 | 该接口用于将矩阵计算的结果从L0C Buffer搬运至L1 Buffer中,并且在搬运过程中支持与其它接口组合使用,配置多种随路能力。(目前针对量化模式的支持尚不完全,具体支持情况请以[函数原型](#函数原型)中包含的接口为准) |
| 34 | 34 | ||
| @@ -26,7 +26,7 @@ | |||
| 26 | 26 | ||
| 27 | ## 功能说明 | 27 | ## 功能说明 |
| 28 | 28 | ||
| 29 | -**`asc_copy_l0c2ub`的旧参数形式及`asc_copy_l0c2ub_sync`接口已废弃。请使用[asc_copy_l0c2ub](../cube_datamove/asc_copy_l0c2ub.md)接口和[asc_sync](../sync/asc_sync.md)接口替代。** | 29 | +**`asc_copy_l0c2ub`的旧参数形式及`asc_copy_l0c2ub_sync`接口已废弃。请使用[asc_copy_l0c2ub](../cube_datamove/asc_copy_l0c2ub.md)接口和[asc_sync](../sync/intra_core_sync/asc_sync.md)接口替代。** |
| 30 | 30 | ||
| 31 | 头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。 | 31 | 头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。 |
| 32 | 32 | ||
| @@ -208,7 +208,7 @@ PIPE_FIX | |||
| 208 | - 本接口非AIC调用直接返回。 | 208 | - 本接口非AIC调用直接返回。 |
| 209 | - `dst`起始地址需要按照32字节对齐,否则触发异常。 | 209 | - `dst`起始地址需要按照32字节对齐,否则触发异常。 |
| 210 | - `src`起始地址需要按照64字节对齐,否则触发异常。 | 210 | - `src`起始地址需要按照64字节对齐,否则触发异常。 |
| 211 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 211 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 212 | - UB容量上限:UB总容量为256KB,默认预留6KB SIMD VF栈与2KB Ascend C预留空间后可用248KB;SIMD与SIMT混编时再划分32KB~128KB作Data Cache,可用容量进一步减少。dst偏移量与搬运大小之和不可超过实际可用容量,否则触发写溢出异常。 | 212 | - UB容量上限:UB总容量为256KB,默认预留6KB SIMD VF栈与2KB Ascend C预留空间后可用248KB;SIMD与SIMT混编时再划分32KB~128KB作Data Cache,可用容量进一步减少。dst偏移量与搬运大小之和不可超过实际可用容量,否则触发写溢出异常。 |
| 213 | - L0C Buffer容量上限:L0C Buffer总容量256KB,src偏移量与搬运大小之和不可超过L0C Buffer容量,否则触发读溢出异常。 | 213 | - L0C Buffer容量上限:L0C Buffer总容量256KB,src偏移量与搬运大小之和不可超过L0C Buffer容量,否则触发读溢出异常。 |
| 214 | - Nz矩阵以16×16个元素为一个基本分形。边界分形中超出`n_size`或`m_size`指定范围的数据不属于有效搬运结果。 | 214 | - Nz矩阵以16×16个元素为一个基本分形。边界分形中超出`n_size`或`m_size`指定范围的数据不属于有效搬运结果。 |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12bt_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12bt/asc_copy_l12bt_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12bt_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12bt/asc_copy_l12bt_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从L1 Buffer搬运到BiasTable Buffer中,BiasTable Buffer用于存放矩阵计算中的Bias。 | 33 | 将数据从L1 Buffer搬运到BiasTable Buffer中,BiasTable Buffer用于存放矩阵计算中的Bias。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12bt_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12bt/asc_copy_l12bt_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12bt_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12bt/asc_copy_l12bt_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将MMAD指令的Bias数据从L1 Buffer搬运到BiasTable Buffer中。 | 33 | 将MMAD指令的Bias数据从L1 Buffer搬运到BiasTable Buffer中。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12fb_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12fb/asc_copy_l12fb_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12fb_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12fb/asc_copy_l12fb_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从L1 Buffer搬运到Fixpipe Buffer中,Fixpipe Buffer用于存放量化参数。 | 33 | 将数据从L1 Buffer搬运到Fixpipe Buffer中,Fixpipe Buffer用于存放量化参数。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12fb_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12fb/asc_copy_l12fb_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12fb_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12fb/asc_copy_l12fb_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从L1 Buffer搬运到Fixpipe Buffer中,Fixpipe Buffer用于存放量化参数。 | 33 | 将数据从L1 Buffer搬运到Fixpipe Buffer中,Fixpipe Buffer用于存放量化参数。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12gm_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12gm.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12gm_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12gm.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从L1 Buffer搬运到Global Memory。 | 33 | 将数据从L1 Buffer搬运到Global Memory。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0a_mx_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0a_mx.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0a_mx_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0a_mx.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 负责完成MX矩阵计算过程中所需的左矩阵对应的量化系数的搬运,数据通路为L1 Buffer->L0A_MX Buffer。其中左量化系数矩阵以32字节(固定数据类型为`fp8_e8m0_t`、分形大小为16×2的)的数据分形为单位进行搬运。 | 33 | 负责完成MX矩阵计算过程中所需的左矩阵对应的量化系数的搬运,数据通路为L1 Buffer->L0A_MX Buffer。其中左量化系数矩阵以32字节(固定数据类型为`fp8_e8m0_t`、分形大小为16×2的)的数据分形为单位进行搬运。 |
| 34 | 34 | ||
| @@ -99,7 +99,7 @@ PIPE_MTE1 | |||
| 99 | - `dst`起始地址需要按照32字节对齐,否则触发地址对齐异常。 | 99 | - `dst`起始地址需要按照32字节对齐,否则触发地址对齐异常。 |
| 100 | - `src`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则触发地址对齐异常。 | 100 | - `src`起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则触发地址对齐异常。 |
| 101 | - `src`位于L1 Buffer,`dst`指向L0A_MX Buffer,两者分属不同的物理存储单元,不存在源操作数与目的操作数地址重叠的场景。 | 101 | - `src`位于L1 Buffer,`dst`指向L0A_MX Buffer,两者分属不同的物理存储单元,不存在源操作数与目的操作数地址重叠的场景。 |
| 102 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 102 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 103 | - L0A_MX Buffer容量上限:L0A_MX Buffer总容量4KB,`dst`偏移量与搬运大小之和不可越界,否则触发地址溢出异常。 | 103 | - L0A_MX Buffer容量上限:L0A_MX Buffer总容量4KB,`dst`偏移量与搬运大小之和不可越界,否则触发地址溢出异常。 |
| 104 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`src`偏移量与源矩阵占用大小之和不可越界,否则触发地址溢出异常。 | 104 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`src`偏移量与源矩阵占用大小之和不可越界,否则触发地址溢出异常。 |
| 105 | 105 | ||
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_l12l0a_sync_2d_arch_3510_deprecated.md+2-2
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0a_sync`和`asc_copy_l12l0a_transpose_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0a/asc_copy_l12l0a_2d_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0a_sync`和`asc_copy_l12l0a_transpose_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0a/asc_copy_l12l0a_2d_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 负责完成矩阵计算所需的2D格式数据的搬运,搬运粒度为大小为512字节的数据分形,支持非转置与转置矩阵从L1 Buffer到L0A Buffer的数据搬运。 | 33 | 负责完成矩阵计算所需的2D格式数据的搬运,搬运粒度为大小为512字节的数据分形,支持非转置与转置矩阵从L1 Buffer到L0A Buffer的数据搬运。 |
| 34 | 34 | ||
| @@ -121,7 +121,7 @@ PIPE_MTE1 | |||
| 121 | - dst起始地址需要按照512字节对齐(L0A Buffer对齐要求),否则会导致搬运异常。 | 121 | - dst起始地址需要按照512字节对齐(L0A Buffer对齐要求),否则会导致搬运异常。 |
| 122 | - src起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 122 | - src起始地址需要按照32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 123 | - src位于L1 Buffer,dst位于L0A Buffer,两者分属不同的物理存储单元,不存在源操作数与目的操作数地址重叠的场景。 | 123 | - src位于L1 Buffer,dst位于L0A Buffer,两者分属不同的物理存储单元,不存在源操作数与目的操作数地址重叠的场景。 |
| 124 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 124 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 125 | - L0A Buffer容量上限:L0A Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 125 | - L0A Buffer容量上限:L0A Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 126 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 | 126 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 |
| 127 | 127 | ||
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_l12l0a_sync_3d_arch_3510_deprecated.md+2-2
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0a_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0a/asc_copy_l12l0a_3d_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0a_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0a/asc_copy_l12l0a_3d_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 3D卷积数据搬运是用于将NC1HWC0格式的Feature Map完成Image to Column展开,然后再从展开后的二维矩阵中选取指定数据块搬入对应内存位置。见图1。 | 33 | 3D卷积数据搬运是用于将NC1HWC0格式的Feature Map完成Image to Column展开,然后再从展开后的二维矩阵中选取指定数据块搬入对应内存位置。见图1。 |
| 34 | 34 | ||
| @@ -109,7 +109,7 @@ PIPE_MTE1 | |||
| 109 | - 本接口非AIC调用直接返回。 | 109 | - 本接口非AIC调用直接返回。 |
| 110 | - dst起始地址需512字节对齐(L0A Buffer对齐要求),否则会导致搬运异常。 | 110 | - dst起始地址需512字节对齐(L0A Buffer对齐要求),否则会导致搬运异常。 |
| 111 | - src起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 111 | - src起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 112 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 112 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 113 | - L0A Buffer容量上限:L0A Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 113 | - L0A Buffer容量上限:L0A Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 114 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 | 114 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 |
| 115 | 115 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0a_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0a/asc_copy_l12l0a_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0a_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0a/asc_copy_l12l0a_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 用于搬运存放在L1 Buffer里的512B大小的矩阵到L0A Buffer里。包含2D格式搬运、3D格式搬运。 | 33 | 用于搬运存放在L1 Buffer里的512B大小的矩阵到L0A Buffer里。包含2D格式搬运、3D格式搬运。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0a_trans_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0a_trans.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0a_trans_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0a_trans.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 该接口实现带转置的2D格式数据从L1 Buffer到L0A Buffer的加载。 | 33 | 该接口实现带转置的2D格式数据从L1 Buffer到L0A Buffer的加载。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0b_mx_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b_mx.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0b_mx_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b_mx.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 负责完成MX矩阵计算过程中所需的右矩阵对应的量化系数的搬运,数据通路为L1 Buffer->L0B_MX Buffer。其中右量化系数矩阵以32字节(固定数据类型为`fp8_e8m0_t`、分形大小为2×16的)的数据分形为单位进行搬运。 | 33 | 负责完成MX矩阵计算过程中所需的右矩阵对应的量化系数的搬运,数据通路为L1 Buffer->L0B_MX Buffer。其中右量化系数矩阵以32字节(固定数据类型为`fp8_e8m0_t`、分形大小为2×16的)的数据分形为单位进行搬运。 |
| 34 | 34 | ||
| @@ -85,7 +85,7 @@ PIPE_MTE1 | |||
| 85 | 85 | ||
| 86 | - 本接口非AIC调用直接返回。 | 86 | - 本接口非AIC调用直接返回。 |
| 87 | - `src`位于L1 Buffer,dst位于L0B_MX Buffer,二者位于不同的物理存储单元,不存在地址重叠。 | 87 | - `src`位于L1 Buffer,dst位于L0B_MX Buffer,二者位于不同的物理存储单元,不存在地址重叠。 |
| 88 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 88 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 89 | - L0B_MX Buffer容量上限:L0B_MX Buffer总容量4KB,`dst`偏移量与搬运大小之和不可越界,否则触发地址溢出异常。 | 89 | - L0B_MX Buffer容量上限:L0B_MX Buffer总容量4KB,`dst`偏移量与搬运大小之和不可越界,否则触发地址溢出异常。 |
| 90 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`src`偏移量与源矩阵占用大小之和不可越界,否则触发地址溢出异常。 | 90 | - L1 Buffer容量上限:L1 Buffer总容量512KB,`src`偏移量与源矩阵占用大小之和不可越界,否则触发地址溢出异常。 |
| 91 | 91 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0b_sparse_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b_sparse.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0b_sparse_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b_sparse.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 用于搬运存放在L1 Buffer里的512B大小的稠密权重矩阵到L0B Buffer里,同时读取128B大小的索引矩阵用于稠密矩阵的稀疏化。 | 33 | 用于搬运存放在L1 Buffer里的512B大小的稠密权重矩阵到L0B Buffer里,同时读取128B大小的索引矩阵用于稠密矩阵的稀疏化。 |
| 34 | 34 | ||
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_l12l0b_sync_2d_arch_3510_deprecated.md+2-2
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0b_sync`和`asc_copy_l12l0b_transpose_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b/asc_copy_l12l0b_2d_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0b_sync`和`asc_copy_l12l0b_transpose_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b/asc_copy_l12l0b_2d_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 负责完成矩阵计算所需的2D格式数据的搬运,搬运粒度为大小为512字节的数据分形,支持非转置与转置矩阵从L1 Buffer到L0B buffer的数据搬运。 | 33 | 负责完成矩阵计算所需的2D格式数据的搬运,搬运粒度为大小为512字节的数据分形,支持非转置与转置矩阵从L1 Buffer到L0B buffer的数据搬运。 |
| 34 | 34 | ||
| @@ -106,7 +106,7 @@ PIPE_MTE1 | |||
| 106 | 106 | ||
| 107 | - 本接口非AIC调用直接返回。 | 107 | - 本接口非AIC调用直接返回。 |
| 108 | - src位于L1 Buffer,dst位于L0B Buffer,二者位于不同的物理存储单元,不存在地址重叠。 | 108 | - src位于L1 Buffer,dst位于L0B Buffer,二者位于不同的物理存储单元,不存在地址重叠。 |
| 109 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 109 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 110 | - L0B Buffer容量上限:L0B Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发写溢出异常。 | 110 | - L0B Buffer容量上限:L0B Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发写溢出异常。 |
| 111 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 | 111 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 |
| 112 | 112 | ||
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_l12l0b_sync_3d_arch_3510_deprecated.md+2-2
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0b_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b/asc_copy_l12l0b_3d_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0b_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b/asc_copy_l12l0b_3d_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 3D卷积数据搬运是用于将NC1HWC0格式的Feature Map完成Image to Column展开,按卷积步长、卷积核大小、膨胀系数配置生成img2col二维矩阵,再从展开后的矩阵中选取指定数据块搬运到L0B Buffer,用于3D卷积场景的矩阵计算数据加载。 | 33 | 3D卷积数据搬运是用于将NC1HWC0格式的Feature Map完成Image to Column展开,按卷积步长、卷积核大小、膨胀系数配置生成img2col二维矩阵,再从展开后的矩阵中选取指定数据块搬运到L0B Buffer,用于3D卷积场景的矩阵计算数据加载。 |
| 34 | 34 | ||
| @@ -103,7 +103,7 @@ PIPE_MTE1 | |||
| 103 | - 本接口非AIC调用直接返回。 | 103 | - 本接口非AIC调用直接返回。 |
| 104 | - dst起始地址需512字节对齐(L0B Buffer对齐要求),否则会导致搬运异常。 | 104 | - dst起始地址需512字节对齐(L0B Buffer对齐要求),否则会导致搬运异常。 |
| 105 | - src起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 | 105 | - src起始地址需32字节对齐(L1 Buffer对齐要求),否则会导致搬运异常。 |
| 106 | -- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 | 106 | +- 如果本指令与其他指令存在目的地址重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个指令串行化,防止出现异常数据。 |
| 107 | - L0B Buffer容量上限:L0B Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 | 107 | - L0B Buffer容量上限:L0B Buffer总容量64KB,dst偏移量与搬运大小之和不可越界,否则触发异常。 |
| 108 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 | 108 | - L1 Buffer容量上限:L1 Buffer总容量512KB,src偏移量与源矩阵占用大小之和不可越界,否则触发异常。 |
| 109 | 109 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0b_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b/asc_copy_l12l0b_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0b_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b/asc_copy_l12l0b_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 用于搬运存放在L1 Buffer里的512B大小的矩阵到L0B Buffer里。包含2D格式搬运、3D格式搬运。 | 33 | 用于搬运存放在L1 Buffer里的512B大小的矩阵到L0B Buffer里。包含2D格式搬运、3D格式搬运。 |
| 34 | 34 | ||
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_l12l0b_trans_sync_arch_2201_deprecated.md+1-1
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0b_trans_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b_trans/asc_copy_l12l0b_trans_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0b_trans_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b_trans/asc_copy_l12l0b_trans_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 该接口实现带转置的2D格式数据从L1 Buffer到L0B Buffer的加载。 | 33 | 该接口实现带转置的2D格式数据从L1 Buffer到L0B Buffer的加载。 |
| 34 | 34 | ||
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_l12l0b_trans_sync_arch_3510_deprecated.md+1-1
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0b_trans_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b_trans/asc_copy_l12l0b_trans_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0b_trans_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0b_trans/asc_copy_l12l0b_trans_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 该接口实现带转置的2D格式数据从L1 Buffer到L0B Buffer的加载。 | 33 | 该接口实现带转置的2D格式数据从L1 Buffer到L0B Buffer的加载。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/cube_datamove_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12l0c_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0c.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12l0c_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12l0c.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将矩阵由L1 Buffer搬运到L0C Buffer中。该搬运支持的数据类型如下: | 33 | 将矩阵由L1 Buffer搬运到L0C Buffer中。该搬运支持的数据类型如下: |
| 34 | - bfloat16_t->bfloat16_t | 34 | - bfloat16_t->bfloat16_t |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。 | 29 | 头文件路径为:`"c_api/cube_datamove/cube_datamove.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_l12ub_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12ub.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_l12ub_sync`接口已废弃,请使用[对应的非同步接口](../cube_datamove/asc_copy_l12ub.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从L1 Buffer搬运到Unified Buffer(UB)中。 | 33 | 将数据从L1 Buffer搬运到Unified Buffer(UB)中。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Unified Buffer(UB)搬运到UB。支持高维切分。 | 33 | 将数据从Unified Buffer(UB)搬运到UB。支持高维切分。 |
| 34 | 34 | ||
| @@ -89,5 +89,5 @@ PIPE_MTE3 | |||
| 89 | 89 | ||
| 90 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 90 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 91 | - 当`n_burst`、`len_burst`中任意一个值为0时,该接口被视为NOP(空操作)。 | 91 | - 当`n_burst`、`len_burst`中任意一个值为0时,该接口被视为NOP(空操作)。 |
| 92 | -- 如果需要执行多条`asc_copy_ub2gm_align`指令,且`asc_copy_ub2gm_align`指令的目的地址存在重叠,需要插入同步指令([asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md)),保证多个`asc_copy_ub2gm_align`指令的串行化,防止出现异常数据。 | 92 | +- 如果需要执行多条`asc_copy_ub2gm_align`指令,且`asc_copy_ub2gm_align`指令的目的地址存在重叠,需要插入同步指令([asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md)),保证多个`asc_copy_ub2gm_align`指令的串行化,防止出现异常数据。 |
| 93 | - 当`src_stride`不等于`len_burst`时,`src_stride`要求32字节对齐。 | 93 | - 当`src_stride`不等于`len_burst`时,`src_stride`要求32字节对齐。 |
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_ub2gm_align_sync_arch_2201_deprecated.md+2-2
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_ub2gm_align_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_ub2gm_align/asc_copy_ub2gm_align_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_ub2gm_align_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_ub2gm_align/asc_copy_ub2gm_align_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Unified Buffer(UB)搬运到Global Memory (GM),支持8位/16位/32位分块拷贝操作。 | 33 | 将数据从Unified Buffer(UB)搬运到Global Memory (GM),支持8位/16位/32位分块拷贝操作。 |
| 34 | 34 | ||
| @@ -84,7 +84,7 @@ PIPE_MTE3 | |||
| 84 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 84 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 85 | - 当`burst_count`、`burst_len`中任意一个值为0时,该接口被视为NOP(空操作)。 | 85 | - 当`burst_count`、`burst_len`中任意一个值为0时,该接口被视为NOP(空操作)。 |
| 86 | - 当`size`值为0时,该接口被视为NOP(空操作)。 | 86 | - 当`size`值为0时,该接口被视为NOP(空操作)。 |
| 87 | -- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 | 87 | +- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 |
| 88 | 88 | ||
| 89 | ## 调用示例 | 89 | ## 调用示例 |
| 90 | 90 | ||
Mdocs/zh/api/SIMD-API/c_api/deprecated_interface/asc_copy_ub2gm_align_sync_arch_3510_deprecated.md+2-2
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_ub2gm_align_sync`接口已废弃,请使用[asc_copy_ub2gm_align连续数据搬运](../vector_datamove/asc_copy_ub2gm_align/asc_copy_ub2gm_align_arch_3510.md#连续数据搬运)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_ub2gm_align_sync`接口已废弃,请使用[asc_copy_ub2gm_align连续数据搬运](../vector_datamove/asc_copy_ub2gm_align/asc_copy_ub2gm_align_arch_3510.md#连续数据搬运)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 提供数据非对齐搬运的功能,将数据从Unified Buffer(UB)搬运到Global Memory (GM),并支持8位/16位/32位数据类型搬运。 | 33 | 提供数据非对齐搬运的功能,将数据从Unified Buffer(UB)搬运到Global Memory (GM),并支持8位/16位/32位数据类型搬运。 |
| 34 | 34 | ||
| @@ -73,6 +73,6 @@ PIPE_MTE3 | |||
| 73 | 73 | ||
| 74 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 74 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 75 | - 当`size`值为0时,该接口被视为NOP(空操作)。 | 75 | - 当`size`值为0时,该接口被视为NOP(空操作)。 |
| 76 | -- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 | 76 | +- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 |
| 77 | - 同步计算包含同步等待。 | 77 | - 同步计算包含同步等待。 |
| 78 | - `size`无需32字节对齐。若`size`非32字节对齐,硬件会自动补充dummy假数据至32字节对齐。dummy假数据的值为数据块的第一个元素的值。写入GM时会丢弃补充的dummy假数据。 | 78 | - `size`无需32字节对齐。若`size`非32字节对齐,硬件会自动补充dummy假数据至32字节对齐。dummy假数据的值为数据块的第一个元素的值。写入GM时会丢弃补充的dummy假数据。 |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_ub2gm_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_ub2gm/asc_copy_ub2gm_arch_2201.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_ub2gm_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_ub2gm/asc_copy_ub2gm_arch_2201.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Unified Buffer(UB)搬运到Global Memory (GM)。 | 33 | 将数据从Unified Buffer(UB)搬运到Global Memory (GM)。 |
| 34 | 34 | ||
| @@ -61,7 +61,7 @@ PIPE_MTE3 | |||
| 61 | ## 约束说明 | 61 | ## 约束说明 |
| 62 | 62 | ||
| 63 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 63 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 64 | -- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 | 64 | +- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 |
| 65 | - 同步计算包含同步等待。 | 65 | - 同步计算包含同步等待。 |
| 66 | - 当采用前n个数据搬运接口时,搬运数据大小要求32字节对齐。 | 66 | - 当采用前n个数据搬运接口时,搬运数据大小要求32字节对齐。 |
| 67 | 67 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_ub2gm_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_ub2gm/asc_copy_ub2gm_arch_3510.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_ub2gm_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_ub2gm/asc_copy_ub2gm_arch_3510.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Unified Buffer(UB) 搬运到 Global Memory (GM)。 | 33 | 将数据从Unified Buffer(UB) 搬运到 Global Memory (GM)。 |
| 34 | 34 | ||
| @@ -61,7 +61,7 @@ PIPE_MTE3 | |||
| 61 | ## 约束说明 | 61 | ## 约束说明 |
| 62 | 62 | ||
| 63 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 63 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 64 | -- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 | 64 | +- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 |
| 65 | - 同步计算包含同步等待。 | 65 | - 同步计算包含同步等待。 |
| 66 | - 当采用前n个数据搬运接口时,搬运数据大小要求32字节对齐。 | 66 | - 当采用前n个数据搬运接口时,搬运数据大小要求32字节对齐。 |
| 67 | - 当src_stride不等于burst_len时,src_stride要求32字节对齐。 | 67 | - 当src_stride不等于burst_len时,src_stride要求32字节对齐。 |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_ub2l1_sync`接口已废弃,请使用[asc_copy_ub2l1](../vector_datamove/asc_copy_ub2l1.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_ub2l1_sync`接口已废弃,请使用[asc_copy_ub2l1](../vector_datamove/asc_copy_ub2l1.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将一段连续数据从Unified Buffer(UB)搬运到L1 Buffer,并在搬运完成后执行同步。 | 33 | 将一段连续数据从Unified Buffer(UB)搬运到L1 Buffer,并在搬运完成后执行同步。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_copy_ub2ub_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_ub2ub.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_copy_ub2ub_sync`接口已废弃,请使用[对应的非同步接口](../vector_datamove/asc_copy_ub2ub.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将数据从Unified Buffer(UB)搬运到UB。 | 33 | 将数据从Unified Buffer(UB)搬运到UB。 |
| 34 | 34 | ||
| @@ -61,7 +61,7 @@ PIPE_V | |||
| 61 | ## 约束说明 | 61 | ## 约束说明 |
| 62 | 62 | ||
| 63 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 | 63 | - 各存储单元的空间大小和对齐要求请参考[存储单元说明](../general_description_and_constraints.md#存储单元说明)。 |
| 64 | -- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/asc_sync_notify.md)和[asc_sync_wait](../sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 | 64 | +- 如果本指令与其他指令存在UB地址重叠,必须插入同步指令[asc_sync_notify](../sync/intra_core_sync/asc_sync_notify.md)和[asc_sync_wait](../sync/intra_core_sync/asc_sync_wait.md),保证多个指令串行化,防止出现异常数据。 |
| 65 | - 同步计算包含同步等待。 | 65 | - 同步计算包含同步等待。 |
| 66 | - 当采用前n个数据搬运接口时,搬运数据大小要求32字节对齐。 | 66 | - 当采用前n个数据搬运接口时,搬运数据大小要求32字节对齐。 |
| 67 | 67 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_datablock_reduce_max_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_reduce/asc_datablock_reduce_max.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_datablock_reduce_max_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_reduce/asc_datablock_reduce_max.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 执行数据块内的求最大值规约(Reduce Max)操作。 | 33 | 执行数据块内的求最大值规约(Reduce Max)操作。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_datablock_reduce_min_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_reduce/asc_datablock_reduce_min.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_datablock_reduce_min_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_reduce/asc_datablock_reduce_min.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 执行数据块内的求最小值规约(Reduce Min)操作。 | 33 | 执行数据块内的求最小值规约(Reduce Min)操作。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_datablock_reduce_sum_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_reduce/asc_datablock_reduce_sum.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_datablock_reduce_sum_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_reduce/asc_datablock_reduce_sum.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 对每个DataBlock内所有元素求和。 | 33 | 对每个DataBlock内所有元素求和。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_deq_int162b8_h_sync`和`asc_deq_int162b8_l_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_fused/asc_deq_int162b8.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_deq_int162b8_h_sync`和`asc_deq_int162b8_l_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_fused/asc_deq_int162b8.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 将int16_t类型转换为int8_t或uint8_t类型,并将数据存放在每个DataBlock的高半块或低半块。使用该接口前需要调用[asc_set_deq_scale](../vector_compute/vector_fused/asc_set_deq_scale.md)接口设置量化参数。 | 33 | 将int16_t类型转换为int8_t或uint8_t类型,并将数据存放在每个DataBlock的高半块或低半块。使用该接口前需要调用[asc_set_deq_scale](../vector_compute/vector_fused/asc_set_deq_scale.md)接口设置量化参数。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_deq_int322half_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_fused/asc_deq_int322half.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_deq_int322half_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_fused/asc_deq_int322half.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 对输入的int32_t类型的数据按元素做量化并转换为half类型。计算公式如下: | 33 | 对输入的int32_t类型的数据按元素做量化并转换为half类型。计算公式如下: |
| 34 | $$ | 34 | $$ |
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_div_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_arith/asc_div.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_div_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_arith/asc_div.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 执行矢量除法运算。计算公式如下: | 33 | 执行矢量除法运算。计算公式如下: |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_duplicate_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_broadcast/asc_duplicate.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_duplicate_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_broadcast/asc_duplicate.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 执行矢量复制(Duplicate)操作,将标量值复制填充到矢量中。 | 33 | 执行矢量复制(Duplicate)操作,将标量值复制填充到矢量中。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_eq_scalar_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_compare/asc_eq_scalar.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_eq_scalar_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_compare/asc_eq_scalar.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 按元素判断src = value是否成立,若成立则输出结果的对应比特位为1,否则为0。 | 33 | 按元素判断src = value是否成立,若成立则输出结果的对应比特位为1,否则为0。 |
| 34 | 34 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 | 29 | 头文件路径为:`"c_api/composite/vector_compute_composite.h"`。 |
| 30 | 30 | ||
| 31 | -**`asc_eq_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_compare/asc_eq.md)和同步接口[asc_sync](../sync/asc_sync.md)替代。** | 31 | +**`asc_eq_sync`接口已废弃,请使用[对应的非同步接口](../vector_compute/vector_compare/asc_eq.md)和同步接口[asc_sync](../sync/intra_core_sync/asc_sync.md)替代。** |
| 32 | 32 | ||
| 33 | 比较src0与src1在对应索引位置的元素大小。若比较结果为真,则输出结果的对应比特位设为1,否则设为0。 | 33 | 比较src0与src1在对应索引位置的元素大小。若比较结果为真,则输出结果的对应比特位设为1,否则设为0。 |
| 34 | 34 | ||
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_block_arrive.md→docs/zh/api/SIMD-API/c_api/sync/inter_core_sync/asc_sync_block_arrive.md+6-6
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_block_wait.md→docs/zh/api/SIMD-API/c_api/sync/inter_core_sync/asc_sync_block_wait.md+5-5
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_inter_arrive.md→docs/zh/api/SIMD-API/c_api/sync/inter_core_sync/asc_sync_inter_arrive.md+6-6
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_inter_wait.md→docs/zh/api/SIMD-API/c_api/sync/inter_core_sync/asc_sync_inter_wait.md+5-5
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_intra_arrive.md→docs/zh/api/SIMD-API/c_api/sync/inter_core_sync/asc_sync_intra_arrive.md+5-5
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_intra_wait.md→docs/zh/api/SIMD-API/c_api/sync/inter_core_sync/asc_sync_intra_wait.md+3-3
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_subblock_arrive.md→docs/zh/api/SIMD-API/c_api/sync/inter_core_sync/asc_sync_subblock_arrive.md+4-4
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_subblock_wait.md→docs/zh/api/SIMD-API/c_api/sync/inter_core_sync/asc_sync_subblock_wait.md+5-5
Rdocs/zh/api/SIMD-API/c_api/sync/inter_core_sync_overview.md→docs/zh/api/SIMD-API/c_api/sync/inter_core_sync/inter_core_sync_overview.md+2-2
Rdocs/zh/api/SIMD-API/c_api/sync/key_features.md→docs/zh/api/SIMD-API/c_api/sync/inter_core_sync/key_features.md+12-12
Rdocs/zh/api/SIMD-API/c_api/sync/asc_lock.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/asc_lock.md+3-3
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/asc_sync.md+1-1
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_data_barrier.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/asc_sync_data_barrier.md+1-1
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_mte2.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/asc_sync_mte2.md+1-1
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_mte3.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/asc_sync_mte3.md+1-1
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_notify.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/asc_sync_notify.md+3-3
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_pipe.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/asc_sync_pipe.md+3-3
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_vec.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/asc_sync_vec.md+1-1
Rdocs/zh/api/SIMD-API/c_api/sync/asc_sync_wait.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/asc_sync_wait.md+2-2
Rdocs/zh/api/SIMD-API/c_api/sync/asc_unlock.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/asc_unlock.md+2-2
Rdocs/zh/api/SIMD-API/c_api/sync/intra_core_sync_overview.md→docs/zh/api/SIMD-API/c_api/sync/intra_core_sync/intra_core_sync_overview.md+8-8
Mdocs/zh/api/SIMD-API/c_api/vector_datamove/asc_copy_gm2ub_align/asc_copy_gm2ub_align_arch_2201.md+1-1
Mdocs/zh/api/SIMD-API/c_api/vector_datamove/asc_copy_gm2ub_align/asc_copy_gm2ub_align_arch_3510.md+1-1
Mdocs/zh/api/SIMD-API/c_api/vector_datamove/asc_copy_ub2gm_align/asc_copy_ub2gm_align_arch_2201.md+1-1