| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs: c_api figures图片统一迁移至api/figures并同步更新引用 Co-authored-by: munanhw<munan@huawei.com> # message auto-generated for no-merge-commit merge: !7095 merge master into master docs: c_api figures图片统一迁移至api/figures并同步更新引用 Created-by: munanhw Commit-by: munanhw Merged-by: cann-robot Description: ## 描述 将 docs/zh/api/SIMD-API/c_api/figures 目录下的全部图片统一迁移至 docs/zh/api/figures 目录,便于图片资源集中管理。 - c_api/figures 下8个与 api/figures 重名但内容不同的图片加 _c_api 后缀改名后迁移,与仓内已有的 xxx_c_api.png 命名惯例保持一致 - 4个与 api/figures 内容完全相同的图片去重删除 - 其余95个图片移动至 api/figures,原目录清空 - 同步修改82个md文件共187处图片引用路径,指向迁移后的新位置 - 补充修正 move_mask.md 中2处指向已迁移目录的图片引用(跟随master最新基线) ## 关联的Issue 无 ## 测试 - 已验证指向 c_api/figures 的图片引用清零 - 已验证 api/figures 下全部1398处图片引用目标文件存在,无缺失链接 ## 文档更新 本PR即为文档更新:82个md文件引用路径修改,103个图片文件迁移至 api/figures ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!7095 | 3 天前 | |
docs: 优化C API调用示例的同步、VF循环及变量命名 Co-authored-by: g00954335<guorenjie3@huawei.com> # message auto-generated for no-merge-commit merge: !6846 merge 2026_10_20_update_c_api_docs_example into master docs: 优化C API调用示例的同步、VF循环及变量命名 Created-by: GRJ_XIDUO Commit-by: g00954335 Merged-by: cann-robot Description: ## 描述 优化C API调用示例的参考性与同步正确性,共更新279个文档。**同一文档可能涉及多个优化点,以下按具体改动各自列出三个典型示例,便于对照审阅。** ### 1. 将易用性同步替换为明确的流水线同步 将asc_sync_mte2、asc_sync_mte3、asc_sync_vec等易用性接口替换为明确的同步接口,展示生产者与消费者之间的依赖。 - SIMD-API/c_api/vector_datamove/asc_copy_gm2ub/asc_copy_gm2ub_arch_3510.md:用asc_sync_notify/asc_sync_wait明确PIPE_MTE3等待PIPE_MTE2,搬出后使用asc_sync_pipe收尾。 - SIMD-API/c_api/vector_datamove/asc_copy_ub2ub.md:明确UB内搬运所在的PIPE_V需等待PIPE_MTE2搬入完成。 - SIMD-API/c_api/sync/intra_core_sync/asc_sync_notify.md:保留示例要展示的notify/wait依赖,将末尾asc_sync_mte3替换为asc_sync_pipe(PIPE_ALL)。 ### 2. 使用lock/unlock串联搬运与计算 在Reg计算示例中,通过同一MUTEX_ID下成对的asc_lock/asc_unlock串联PIPE_MTE2、PIPE_V和PIPE_MTE3三个阶段。 - SIMD-API/c_api/reg_compute/reg_arith/asc_add.md:将双输入搬入、加法VF计算及结果搬出分别放入对应流水线的lock/unlock区间。 - SIMD-API/c_api/reg_compute/load/asc_loadalign.md:将加载示例的搬入、VF调用和搬出改为lock/unlock同步。 - SIMD-API/c_api/reg_compute/reg_convert/asc_float2half.md:将类型转换示例的搬入、转换VF调用和搬出改为lock/unlock同步。 ### 3. 补充VF循环、地址偏移及尾块处理 覆盖非VL整数倍的数据长度,在VF内按轮次更新地址和掩码,并为UB缓冲区预留对齐后的存储空间。 - SIMD-API/c_api/reg_compute/reg_arith/asc_add.md:使用137个int32_t元素,循环内更新remaining_length对应的掩码,处理最后一轮有效元素。 - SIMD-API/c_api/reg_compute/load/asc_loadalign.md:将数据长度调整为260个uint8_t元素,通过逐轮地址偏移和asc_update_mask_b8覆盖尾块。 - SIMD-API/c_api/reg_compute/reg_convert/asc_float2half.md:为转换VF增加one_repeat_size和repeat_time参数,补充循环、offset及尾块掩码。 ### 4. VF内部补齐UB写后读同步 vf内部同一UB区域先写后读时,插入同步以确保前次写入完成。 - SIMD-API/c_api/reg_compute/reg_convert/asc_float2bfloat16.md:多个转换分支复用同一输出UB区域,在前次Store与后续Load之间增加asc_mem_bar(VST_VLD)。 - SIMD-API/c_api/reg_compute/reg_convert/asc_int322int16.md:EVEN/ODD及饱和转换分支复用输出UB时,补充写后读屏障。 - docs/zh/guide/operator_practice/simd_operator_optimization/vector_compute/vf_optimization/dual_issue_optimization.md:在拆分后的两个循环之间增加VEC_STORE到VEC_LOAD的LocalMemBar,并修正注意事项。 ### 5. 统一变量命名并明确长度单位 统一部分示例中的长度和循环参数命名,区分有效数据长度、字节数及对齐后的缓冲区大小,并修正说明中的变量名称。 - SIMD-API/c_api/reg_compute/reg_arith/asc_add.md:使用DATA_BYTES、TOTAL_LENGTH和PADDED_ELEMENT_COUNT区分数据字节数、有效元素数及缓冲区元素数,并注明one_repeat_size的单位。 - SIMD-API/c_api/reg_compute/reg_convert/asc_float2half.md:将BUFFER_BYTES相关表达调整为DATA_BYTES、TOTAL_LENGTH和PADDED_BUFFER_BYTES,配合one_repeat_size、repeat_time描述循环处理。 - SIMD-API/basic_api/reg_vector_compute/sync_control/LocalMemBar.md:将说明中的dstPtr/src0Ptr修正为与示例代码一致的dstAddr/src0Addr。 ### 6. 使用asc_vf_call调用SIMD VF函数 将部分示例中对__simd_vf__函数的直接调用改为asc_vf_call<函数名>(...),统一SIMD VF函数的调用方式,并传入循环所需的参数。 - docs/zh/api/SIMD-API/c_api/reg_compute/reg_arith/asc_add.md:将add_vf(...)直接调用改为asc_vf_call<add_vf>(...),传入输入输出地址、one_repeat_size和repeat_time。 - docs/zh/api/SIMD-API/c_api/reg_compute/reg_arith/asc_addc.md:将addc_vf(...)直接调用改为asc_vf_call<addc_vf>(...),保留结果及进位缓冲区等参数,并补充循环参数。 - docs/zh/api/SIMD-API/c_api/reg_compute/reg_arith/asc_div.md:将div_vf(...)直接调用改为asc_vf_call<div_vf>(...),通过统一入口调用除法VF函数。 ### 7.使用AscendC::Std::ceil_div替换示例内自定义的向上取整函数:ceil_division。 ## 关联的Issue 无。 ## 测试 - 205个C API调用示例均已在CANN 9.2.0中测试通过。 - 已通过git diff --check差异格式检查。 ## 文档更新 更新205个C API接口文档的调用示例、LocalMemBar文档及指令双发优化指南,共207个文档。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6846 | 10 天前 | |
docs: 优化C API调用示例的同步、VF循环及变量命名 Co-authored-by: g00954335<guorenjie3@huawei.com> # message auto-generated for no-merge-commit merge: !6846 merge 2026_10_20_update_c_api_docs_example into master docs: 优化C API调用示例的同步、VF循环及变量命名 Created-by: GRJ_XIDUO Commit-by: g00954335 Merged-by: cann-robot Description: ## 描述 优化C API调用示例的参考性与同步正确性,共更新279个文档。**同一文档可能涉及多个优化点,以下按具体改动各自列出三个典型示例,便于对照审阅。** ### 1. 将易用性同步替换为明确的流水线同步 将asc_sync_mte2、asc_sync_mte3、asc_sync_vec等易用性接口替换为明确的同步接口,展示生产者与消费者之间的依赖。 - SIMD-API/c_api/vector_datamove/asc_copy_gm2ub/asc_copy_gm2ub_arch_3510.md:用asc_sync_notify/asc_sync_wait明确PIPE_MTE3等待PIPE_MTE2,搬出后使用asc_sync_pipe收尾。 - SIMD-API/c_api/vector_datamove/asc_copy_ub2ub.md:明确UB内搬运所在的PIPE_V需等待PIPE_MTE2搬入完成。 - SIMD-API/c_api/sync/intra_core_sync/asc_sync_notify.md:保留示例要展示的notify/wait依赖,将末尾asc_sync_mte3替换为asc_sync_pipe(PIPE_ALL)。 ### 2. 使用lock/unlock串联搬运与计算 在Reg计算示例中,通过同一MUTEX_ID下成对的asc_lock/asc_unlock串联PIPE_MTE2、PIPE_V和PIPE_MTE3三个阶段。 - SIMD-API/c_api/reg_compute/reg_arith/asc_add.md:将双输入搬入、加法VF计算及结果搬出分别放入对应流水线的lock/unlock区间。 - SIMD-API/c_api/reg_compute/load/asc_loadalign.md:将加载示例的搬入、VF调用和搬出改为lock/unlock同步。 - SIMD-API/c_api/reg_compute/reg_convert/asc_float2half.md:将类型转换示例的搬入、转换VF调用和搬出改为lock/unlock同步。 ### 3. 补充VF循环、地址偏移及尾块处理 覆盖非VL整数倍的数据长度,在VF内按轮次更新地址和掩码,并为UB缓冲区预留对齐后的存储空间。 - SIMD-API/c_api/reg_compute/reg_arith/asc_add.md:使用137个int32_t元素,循环内更新remaining_length对应的掩码,处理最后一轮有效元素。 - SIMD-API/c_api/reg_compute/load/asc_loadalign.md:将数据长度调整为260个uint8_t元素,通过逐轮地址偏移和asc_update_mask_b8覆盖尾块。 - SIMD-API/c_api/reg_compute/reg_convert/asc_float2half.md:为转换VF增加one_repeat_size和repeat_time参数,补充循环、offset及尾块掩码。 ### 4. VF内部补齐UB写后读同步 vf内部同一UB区域先写后读时,插入同步以确保前次写入完成。 - SIMD-API/c_api/reg_compute/reg_convert/asc_float2bfloat16.md:多个转换分支复用同一输出UB区域,在前次Store与后续Load之间增加asc_mem_bar(VST_VLD)。 - SIMD-API/c_api/reg_compute/reg_convert/asc_int322int16.md:EVEN/ODD及饱和转换分支复用输出UB时,补充写后读屏障。 - docs/zh/guide/operator_practice/simd_operator_optimization/vector_compute/vf_optimization/dual_issue_optimization.md:在拆分后的两个循环之间增加VEC_STORE到VEC_LOAD的LocalMemBar,并修正注意事项。 ### 5. 统一变量命名并明确长度单位 统一部分示例中的长度和循环参数命名,区分有效数据长度、字节数及对齐后的缓冲区大小,并修正说明中的变量名称。 - SIMD-API/c_api/reg_compute/reg_arith/asc_add.md:使用DATA_BYTES、TOTAL_LENGTH和PADDED_ELEMENT_COUNT区分数据字节数、有效元素数及缓冲区元素数,并注明one_repeat_size的单位。 - SIMD-API/c_api/reg_compute/reg_convert/asc_float2half.md:将BUFFER_BYTES相关表达调整为DATA_BYTES、TOTAL_LENGTH和PADDED_BUFFER_BYTES,配合one_repeat_size、repeat_time描述循环处理。 - SIMD-API/basic_api/reg_vector_compute/sync_control/LocalMemBar.md:将说明中的dstPtr/src0Ptr修正为与示例代码一致的dstAddr/src0Addr。 ### 6. 使用asc_vf_call调用SIMD VF函数 将部分示例中对__simd_vf__函数的直接调用改为asc_vf_call<函数名>(...),统一SIMD VF函数的调用方式,并传入循环所需的参数。 - docs/zh/api/SIMD-API/c_api/reg_compute/reg_arith/asc_add.md:将add_vf(...)直接调用改为asc_vf_call<add_vf>(...),传入输入输出地址、one_repeat_size和repeat_time。 - docs/zh/api/SIMD-API/c_api/reg_compute/reg_arith/asc_addc.md:将addc_vf(...)直接调用改为asc_vf_call<addc_vf>(...),保留结果及进位缓冲区等参数,并补充循环参数。 - docs/zh/api/SIMD-API/c_api/reg_compute/reg_arith/asc_div.md:将div_vf(...)直接调用改为asc_vf_call<div_vf>(...),通过统一入口调用除法VF函数。 ### 7.使用AscendC::Std::ceil_div替换示例内自定义的向上取整函数:ceil_division。 ## 关联的Issue 无。 ## 测试 - 205个C API调用示例均已在CANN 9.2.0中测试通过。 - 已通过git diff --check差异格式检查。 ## 文档更新 更新205个C API接口文档的调用示例、LocalMemBar文档及指令双发优化指南,共207个文档。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6846 | 10 天前 | |
带返回值接口资料修改 Co-authored-by: qwerwjy<wangjunyi23@huawei.com> # message auto-generated for no-merge-commit merge: !5501 merge master into master 带返回值接口资料修改 Created-by: qwerwjy Commit-by: qwerwjy Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> C API 部分带返回值接口资料修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5501 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 天前 | ||
| 10 天前 | ||
| 10 天前 | ||
| 2 个月前 |