| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix_deprecated_declaration_error Co-authored-by: gcw_atM8lhjZ<chenhangxin@huawei.com> # message auto-generated for no-merge-commit merge: !5892 merge master into master fix_deprecated_declaration_error Created-by: gcw_atM8lhjZ Commit-by: gcw_atM8lhjZ Merged-by: cann-robot Description: ## 描述 asc_get_store_atomic_config 在 2201 上未废弃,删除公开声明及 2201 实现(memory_base_impl/scalar_atomic_intf_impl.h)中误加的 ASC_DEPRECATED 注解,解决 deprecated 声明编译错误;3510 架构废弃标记保留不变。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5892 | 13 天前 | |
refactor: 按公开接口头平铺 C API 实现并简化调用层 Co-authored-by: lihuaichao<lihuaichao1@huawei.com> # message auto-generated for no-merge-commit merge: !5773 merge capi_impl_refactor into master refactor: 按公开接口头平铺 C API 实现并简化调用层 Created-by: lihuaichao Commit-by: lihuaichao Merged-by: cann-robot Description: ## 描述 C API 原实现使用多层聚合头,公开头会引入无关实现。本变更按实际声明接口的公开头平铺实现,并消除无意义的私有函数转发层。 - 将原 instr_impl 目录重组为 90 个实现头:memory_base_impl 下 26 个、reg_base_impl 公共部分 45 个、npu_arch_3510 专用部分 19 个。共享工具实现保留为 utils_impl.h。 - 将 asc_copy_l0c2ub、asc_copy_gm2ub_align、asc_copy_ub2gm_align、asc_copy_l0c2gm、asc_copy_l0c2l1 的131个公共实现重载移动到3510专用头;保留已有24个废弃重载,公共头按架构宏包含对应专用头。 - 公开头只直接包含同名 *_intf_impl.h。reg_base_impl 公共头通过 #if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3510) 包含同名专用头,专用头不反向包含公共接口实现头;为三个 composite 接口增加公共分发入口。 - 架构专用头统一在公共头顶部包含;去掉 cache_ctrl、spr 公共函数外围的3510限制。asc_set_atomic_none 直接调用 set_atomic_none,消除对公共头后续定义的依赖。 - reg_addr_reg 的公共接口和3510旧接口直接调用 vag_*,保留AIV保护、非AIV默认返回和废弃标记;移除12个宏生成的_impl转发重载,消除顶部include的声明顺序依赖。 - memory_base_impl 和 reg_base_impl 移除重复的 *_impl 私有转发层,基础接口直接实现底层指令调用,保留必要的参数及返回值适配,以及实际承担同步分发职责的辅助函数。公开声明、重载和原有架构支持范围保持不变。 - composite 接口直接组合底层指令,删除对非 sync 接口实现头的冗余依赖;utils_impl.h 已实现的同步和 mask 辅助操作复用现有工具函数,保留原有条件执行语义。 - 为 sync composite 接口补齐与对应基础操作一致的 AIC/AIV 保护,计算和同步一起受保护,避免在非目标核执行同步。 - 清理 composite 中的34组冗余作用域和多余空行,合并4处重复临时变量并保留地址更新语义。storeunalign composite 恢复 asc_get_vf_len 查询及所需 sys_var.h 依赖,零偏移参数直接使用0。 - 90 个实现头沿用原有 #warning、保护顺序和 UNDEF_ASCENDC_C_API_INCLUDE_COMPILER_INTERNAL_HEADERS_ASCENDC 清理标记,按新路径调整防重复包含宏和警告路径。 - 按实际依赖删除冗余 defs.h 和 utils_impl.h 引用,保留宏及工具函数所需依赖;清理仅有接口名的注释和 49 个空 __asc_aicore 命名空间块,保留有实际内容的命名空间及算法、参数和约束说明。新增或更名的实现头使用 2026 年版权信息。 - 同步最新 master,解决旧 vector_compute_impl.h 的修改/删除冲突,将上游三个 asc_sub_relu_sync 重载的同步修复迁移到新的 memory_base_impl/vector_compute_composite_intf_impl.h。 - 更新目录文档和已有测试引用;classify_rule.yaml 中旧路径的调整保持在本 PR 中。 - 清理22个实现头中的330行冗余、悬空或重复分类注释及多余空行;删除memory_base_impl/vector_datamove_intf_impl.h中已无使用点的两组默认值宏及其重复定义、清理代码,保留硬件位域、使用约束和废弃替代说明。 - 删除两个vector_permute_sel实现头中未调用的ASC_TRANSTO5HD_B8_CALL宏,移除reg_permute_sel对storeunalign实现头的冗余包含,合并两个leakyrelu_sync重载的重复mask恢复,清理两条不准确的storeunalign分类注释。 - 合并master提交4511da2b149ba2bc29d1143a5e21742777199592,解决14个旧聚合头修改/删除冲突,将主线1,414处废弃标记调整迁移到扁平实现;保留接口和底层实现,旧instr_impl目录不恢复。 - sys_var.h先包含defs.h再包含架构实现,确保废弃标记宏在实现使用前定义,支持2201/3510独立包含该公开头。 - 同步master 2abedf248的回退变更:memory/reg的utils统一引用恢复后的impl/utils/sys_macros.h,保留主线恢复的两个兼容入口头。 ## 关联的Issue 无。 ## 测试 接口迁移后已完成公开入口及实现头语法编译、接口对比。本次格式修复使用与CI一致的clang-format 18.1.8,调整两处vadds调用的参数换行,无非空白字符变更;UT、安装目录和重复包含结果来自此前验证。 - 对比主线提交 83f55b37a8ad61662b97a61ce2646f6c660b64df:74个公开头、90个新实现头与659个旧实现头核对,2201/3510公开声明和公开实现新增、删除均为0;122个架构/公开头组合中6,178条原有接口引用关系保持可达。 - 2201/3510 host、单头模式及 device 公开头编译:174 项通过。 - 90项实现头依赖语法编译全部通过(先提供公开入口的基础定义,3510专用头通过公共头引入,不要求裸impl独立包含)。宏展开核对仅剩8个必要同步分发helper。 - 此前87项公开入口重复包含和临时宏清理检查通过。 - 此前四组C API CPU/mock UT共5,057项通过,覆盖2201/3510的AIC/AIV;本次未重跑。 - 此前全新安装目录下5项入口编译通过,无源码C API头回退。 - 本次对150个相关代码文件执行clang-format 18.1.8,格式修复后dry-run和pre-commit clang-format均通过。空白、EOF、YAML、大文件、冲突标记、私钥、拼写和OAT hook通过;无适用文件的JSON、ruff检查跳过。 - 本地完整pre-commit的Markdown检查因已有文档链接 http://optipng.sourceforge.net/ 网络不可达未通过;未修改该无关文档或检查配置,远端检查结果需以新提交CI为准。 - 最近的注释和无用宏清理已通过22个文件的clang-format 18.1.8及git diff --check;逐文件剔除注释、空白和指定无用宏后与修改前一致,未改动函数实现;本轮未重跑编译或UT。 - 合并后全量对照master 4511da2b1及原目录6ee902416:公开声明/实现无新增或缺失,原有6,178条入口匹配关系保留;90个实现头语法检查通过。四组CPU/mock UT重新构建后5,057项全部通过。 - sys_var.h包含顺序修复后,重新执行全部174项公开入口语法检查,174项全部通过,之前6项sys_var独立包含失败已消除;clang-format 18.1.8和git diff --check通过。本次仅调整包含顺序,未重复运行UT。 - 再次同步master 2abedf248后,含恢复的兼容入口在内共178项公开入口语法检查全部通过;90个实现头的包含路径和保护宏静态检查通过,相关文件clang-format检查通过。 - 未运行真实 NPU 测试。上述检查不将原有跨架构的声明/实现差异判定为新增缺陷,也不删除这些接口。 ## 文档更新 更新中英文 C API 贡献指南、目录结构说明以及已有 C API UT 目录映射,说明公共入口、架构专用实现与必要辅助函数的组织方式。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5773 | 16 天前 | |
feat: 补充2201 Cube C API接口 Co-authored-by: zhangjiru<zhangjiru1@huawei.com> # message auto-generated for no-merge-commit merge: !5736 merge feat/a2a3-matrix-load-api-upstream into master feat: 补充2201 Cube C API接口 Created-by: leozjr Commit-by: zhangjiru Merged-by: cann-robot Description: ## 描述 补齐 Atlas A2 训练/推理系列产品支持的 2201 Cube C API 实现。 - 新增 asc_disable_hf32、asc_set_l0c_copy_config 和 asc_set_l0c_copy_lrelu_alpha(float)。 - 为 asc_set_l13d_rpt、asc_set_l13d_fmatrix、asc_set_l13d_fmatrix_b 补充参数化 overload。 - 新增 asc_set_gm2l1_padding 和 asc_set_l12l0a_3d_padding 的 2201 实现及类型化 overload。 - 改名接口使用独立的 *_impl.h 文件并由对应架构聚合头显式包含。 - asc_set_l0c_copy_lrelu_alpha 仅提供 float 形式,不迁移旧 half& 形式。 ## 关联的Issue ## 测试 - cmake --build build --target ascendc_ut_c_api_ascend910B1_AIC -j8 - 354 个 2201 AIC C API 测试通过。 - 新增接口聚焦 UT:10 个测试、7 个测试套件全部通过。 - git diff --check 通过。 ## 文档更新 无。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5736 | 13 天前 | |
重构:废弃A5 Cube旧C API接口 Co-authored-by: zhangjiru<zhangjiru1@huawei.com> # message auto-generated for no-merge-commit merge: !5740 merge fix/a5-cube-api-deprecation-review into master 重构:废弃A5 Cube旧C API接口 Created-by: leozjr Commit-by: zhangjiru Merged-by: cann-robot Description: ## 描述 本 PR 面向 A5(dav-3510)Cube C API,废弃旧接口、旧参数重载和同步封装接口。旧声明保留并添加废弃标记,已有代码可继续编译;新增代码请使用下表所列接口。原 _sync 调用统一拆分为常规接口调用和后续 asc_sync 调用。 ### 废弃接口与替代关系 | 废弃接口或重载 | 替代接口/方式 | 具体修改点 | |---|---|---| | asc_enable_fp8() | asc_disable_hif8() | 删除对 asc_enable_fp8() 的新调用;改为调用无参数的 asc_disable_hif8()。 | | asc_set_fp32_mode() | asc_disable_hf32() | 删除对 asc_set_fp32_mode() 的新调用;改为调用无参数的 asc_disable_hf32()。 | | asc_enable_hf32_trans(uint32_t mode) | 无 | 不提供替代接口;删除该接口调用,不能通过其他接口保留原 mode 设置行为。 | | asc_set_l0c2gm_nz2nd(uint64_t nd_num, uint64_t src_nd_stride, uint64_t dst_nd_stride) | asc_set_l0c_copy_nz_para(uint16_t matrix_num, uint16_t src_nz_matrix_stride, uint32_t dst_matrix_stride) | 函数名由 asc_set_l0c2gm_nz2nd 改为 asc_set_l0c_copy_nz_para;第 1、2 个参数从 uint64_t 分别改为 uint16_t,第 3 个参数仍为 32 位但名称由 dst_nd_stride 改为 dst_matrix_stride。 | | asc_set_l0c2gm_channel_para(uint64_t config) | asc_set_l0c_copy_channel_para(uint16_t src_nz_fractal_stride) | 函数名变化;一个打包的 uint64_t config 参数改为一个 uint16_t src_nz_fractal_stride 参数。 | | asc_set_l0c2gm_config(uint64_t relu_pre, uint64_t quant_pre, bool enable_unit_flag) | asc_set_l0c_copy_config(uint64_t relu_pre_addr, uint64_t quant_pre_addr, bool is_clean_unit_flag) | 函数名变化;参数位置和类型不变;参数名依次改为 relu_pre_addr、quant_pre_addr、is_clean_unit_flag。 | | asc_set_l0c2gm_relu_alpha(uint64_t config) | asc_set_l0c_copy_relu_alpha(float scalar_relu_pre_alpha) | 函数名变化;一个 uint64_t config 参数改为一个 float scalar_relu_pre_alpha 参数。 | | asc_set_l0c2gm_lrelu_alpha(half& config)、asc_set_l0c2gm_lrelu_alpha(float& config) | asc_set_l0c_copy_lrelu_alpha(float scalar_relu_pre_alpha) | 两个旧重载均废弃;新接口只接收一个按值传递的 float 参数,不再接收 half& 或 float& 引用参数。 | | asc_set_l12l0_padding_val(uint64_t config) | asc_set_l12l0b_3d_padding(T padding_value) 或 asc_set_l12l0b_3d_padding(uint64_t config) | 旧接口删除时,调用方根据已有数据选择 T padding_value 重载或保留 uint64_t config 形式的新接口;函数名由 asc_set_l12l0_padding_val 改为 asc_set_l12l0b_3d_padding。 | | asc_set_l13d_padding(uint64_t config) | asc_set_gm2l1_padding(T padding_value) 或 asc_set_l12l0a_3d_padding(T padding_value) | 一个旧接口替换为两个接口:GM 到 L1 的调用改为 asc_set_gm2l1_padding,L1 到 L0A 的调用改为 asc_set_l12l0a_3d_padding;两者均接收 T padding_value。 | | 旧 asc_copy_gm2l1_align(..., bool data_select_bit, uint8_t l2_cache_ctl, uint64_t burst_src_stride, uint32_t burst_dst_stride) 及所有 asc_copy_gm2l1_align_sync 重载 | asc_copy_gm2l1_align(..., bool enable_data_select, asc_load_l2_cache_mode l2_cache_mode, uint64_t src_stride, uint32_t dst_stride) + asc_sync | 常规接口的第 7 至第 10 个参数依次由 data_select_bit、l2_cache_ctl、burst_src_stride、burst_dst_stride 改为 enable_data_select、l2_cache_mode、src_stride、dst_stride;其中第 8 个参数从 uint8_t 改为 asc_load_l2_cache_mode。删除 _sync 调用后,在常规接口之后调用 asc_sync。 | | 旧 asc_copy_gm2l1_dn2nz 常规重载及所有 _sync 重载 | 带 asc_load_l2_cache_mode l2_cache_mode 的 asc_copy_gm2l1_dn2nz 常规重载 + asc_sync | 将旧 L2 Cache 控制参数替换为 asc_load_l2_cache_mode l2_cache_mode;删除 _sync 调用后,在常规接口之后调用 asc_sync。 | | 旧 asc_copy_gm2l1_nd2nz 常规重载及所有 _sync 重载 | 带 asc_load_l2_cache_mode l2_cache_mode 的 asc_copy_gm2l1_nd2nz 常规重载 + asc_sync | 将旧 L2 Cache 控制参数替换为 asc_load_l2_cache_mode l2_cache_mode;删除 _sync 调用后,在常规接口之后调用 asc_sync。 | | asc_copy_gm2l1 的 uint8_t pad_func_mode 常规重载及对应 _sync 重载 | asc_copy_gm2l1 的 asc_channel_pad_mode pad_mode 常规重载 + asc_sync | 原 uint8_t pad_func_mode 参数改为 asc_channel_pad_mode pad_mode 参数;删除 _sync 调用后,在常规接口之后调用 asc_sync。 | | asc_copy_gm2l1 的 uint8_t decomp_mode、uint8_t l2_cache_ctl 常规重载及对应 _sync 重载 | 使用 asc_load_l2_cache_mode l2_cache_mode 的 asc_copy_gm2l1 常规重载 + asc_sync | 新接口不再传入 decomp_mode;原 uint8_t l2_cache_ctl 改为 asc_load_l2_cache_mode l2_cache_mode;删除 _sync 调用后,在常规接口之后调用 asc_sync。 | | asc_copy_l12ub_sync | asc_copy_l12ub(..., int8_t sub_blockid) + asc_sync | 常规 asc_copy_l12ub 的 sub_blockid 参数从 bool 改为 int8_t;仅废弃 _sync 重载,常规接口保留。删除 _sync 调用后,在常规接口之后调用 asc_sync。 | ### 本次实现范围 - 在 include/c_api 的公共声明、2201/3510 的实现包装层以及 cube_datamove_composite.h 中,为上表列出的旧重载添加废弃标记。 - 新增 asc_channel_pad_mode 枚举定义和文档。 - 旧接口文档移动到 deprecated_interface 目录;归档文档保留旧函数原型、旧参数、旧约束和旧示例,并在功能说明第一段给出替代接口。 - 活跃接口文档删除已废弃原型,只保留当前重载,并更新参数表和调用示例。 - 更新 API 导航、C API 废弃接口索引及附录废弃接口清单。 - 更新 host-header 检查和 3510 定向测试的调用;删除仅用于旧接口的测试用例。 ### 未废弃的参数化重载 以下旧重载不废弃,本 PR 仅补充或使用新重载: | 接口 | 保留的旧重载 | 新增重载 | |---|---|---| | asc_set_gm2l1_nz_para | asc_set_gm2l1_nz_para(uint64_t config) | asc_set_gm2l1_nz_para(uint16_t matrix_num, uint16_t dst_nz_n_stride, uint16_t dst_nz_c0_stride, uint16_t dst_nz_matrix_stride) | | asc_set_l0c_copy_prequant | asc_set_l0c_copy_prequant(uint64_t config) | asc_set_l0c_copy_prequant(float scale, uint16_t offset, bool is_signed) | | asc_set_l13d_rpt | asc_set_l13d_rpt(asc_load3d_v2_config& config) | asc_set_l13d_rpt(uint16_t repeat_stride, uint8_t repeat_times, asc_l13d_repeat_direction repeat_direction, uint16_t dst_stride_k, uint16_t dst_start_pos_m) | | asc_set_l13d_rpt_b | asc_set_l3d_rpt_b(uint64_t config) | asc_set_l13d_rpt_b(uint16_t repeat_stride, uint8_t repeat_times, asc_l13d_repeat_direction repeat_direction, uint16_t dst_stride_k, uint16_t dst_start_pos_m) | | asc_set_l13d_fmatrix | asc_set_l13d_fmatrix(asc_l13d_fmatrix_config& config) | asc_set_l13d_fmatrix(uint16_t fmatrix_w, uint16_t fmatrix_h, uint8_t pad_left, uint8_t pad_right, uint8_t pad_top, uint8_t pad_bottom) | | asc_set_l13d_fmatrix_b | asc_set_l13d_fmatrix_b(asc_l13d_fmatrix_config& config) | asc_set_l13d_fmatrix_b(uint16_t fmatrix_w, uint16_t fmatrix_h, uint8_t pad_left, uint8_t pad_right, uint8_t pad_top, uint8_t pad_bottom) | ## 关联的Issue 无。 ## 测试 - git diff --check:通过。 - pre-commit:通过,包括 clang-format、codespell、OAT 合规检查和 Markdown 链接检查。 - 同步更新 C API host-header 检查及 3510 定向 UT 覆盖的接口调用。 ## 文档更新 - 归档废弃接口文档,并保留原接口说明、参数、约束和示例。 - 更新活跃接口文档、API 导航、C API 废弃接口索引和附录废弃接口清单。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5740 | 11 天前 | |
重构:废弃A5 Cube旧C API接口 Co-authored-by: zhangjiru<zhangjiru1@huawei.com> # message auto-generated for no-merge-commit merge: !5740 merge fix/a5-cube-api-deprecation-review into master 重构:废弃A5 Cube旧C API接口 Created-by: leozjr Commit-by: zhangjiru Merged-by: cann-robot Description: ## 描述 本 PR 面向 A5(dav-3510)Cube C API,废弃旧接口、旧参数重载和同步封装接口。旧声明保留并添加废弃标记,已有代码可继续编译;新增代码请使用下表所列接口。原 _sync 调用统一拆分为常规接口调用和后续 asc_sync 调用。 ### 废弃接口与替代关系 | 废弃接口或重载 | 替代接口/方式 | 具体修改点 | |---|---|---| | asc_enable_fp8() | asc_disable_hif8() | 删除对 asc_enable_fp8() 的新调用;改为调用无参数的 asc_disable_hif8()。 | | asc_set_fp32_mode() | asc_disable_hf32() | 删除对 asc_set_fp32_mode() 的新调用;改为调用无参数的 asc_disable_hf32()。 | | asc_enable_hf32_trans(uint32_t mode) | 无 | 不提供替代接口;删除该接口调用,不能通过其他接口保留原 mode 设置行为。 | | asc_set_l0c2gm_nz2nd(uint64_t nd_num, uint64_t src_nd_stride, uint64_t dst_nd_stride) | asc_set_l0c_copy_nz_para(uint16_t matrix_num, uint16_t src_nz_matrix_stride, uint32_t dst_matrix_stride) | 函数名由 asc_set_l0c2gm_nz2nd 改为 asc_set_l0c_copy_nz_para;第 1、2 个参数从 uint64_t 分别改为 uint16_t,第 3 个参数仍为 32 位但名称由 dst_nd_stride 改为 dst_matrix_stride。 | | asc_set_l0c2gm_channel_para(uint64_t config) | asc_set_l0c_copy_channel_para(uint16_t src_nz_fractal_stride) | 函数名变化;一个打包的 uint64_t config 参数改为一个 uint16_t src_nz_fractal_stride 参数。 | | asc_set_l0c2gm_config(uint64_t relu_pre, uint64_t quant_pre, bool enable_unit_flag) | asc_set_l0c_copy_config(uint64_t relu_pre_addr, uint64_t quant_pre_addr, bool is_clean_unit_flag) | 函数名变化;参数位置和类型不变;参数名依次改为 relu_pre_addr、quant_pre_addr、is_clean_unit_flag。 | | asc_set_l0c2gm_relu_alpha(uint64_t config) | asc_set_l0c_copy_relu_alpha(float scalar_relu_pre_alpha) | 函数名变化;一个 uint64_t config 参数改为一个 float scalar_relu_pre_alpha 参数。 | | asc_set_l0c2gm_lrelu_alpha(half& config)、asc_set_l0c2gm_lrelu_alpha(float& config) | asc_set_l0c_copy_lrelu_alpha(float scalar_relu_pre_alpha) | 两个旧重载均废弃;新接口只接收一个按值传递的 float 参数,不再接收 half& 或 float& 引用参数。 | | asc_set_l12l0_padding_val(uint64_t config) | asc_set_l12l0b_3d_padding(T padding_value) 或 asc_set_l12l0b_3d_padding(uint64_t config) | 旧接口删除时,调用方根据已有数据选择 T padding_value 重载或保留 uint64_t config 形式的新接口;函数名由 asc_set_l12l0_padding_val 改为 asc_set_l12l0b_3d_padding。 | | asc_set_l13d_padding(uint64_t config) | asc_set_gm2l1_padding(T padding_value) 或 asc_set_l12l0a_3d_padding(T padding_value) | 一个旧接口替换为两个接口:GM 到 L1 的调用改为 asc_set_gm2l1_padding,L1 到 L0A 的调用改为 asc_set_l12l0a_3d_padding;两者均接收 T padding_value。 | | 旧 asc_copy_gm2l1_align(..., bool data_select_bit, uint8_t l2_cache_ctl, uint64_t burst_src_stride, uint32_t burst_dst_stride) 及所有 asc_copy_gm2l1_align_sync 重载 | asc_copy_gm2l1_align(..., bool enable_data_select, asc_load_l2_cache_mode l2_cache_mode, uint64_t src_stride, uint32_t dst_stride) + asc_sync | 常规接口的第 7 至第 10 个参数依次由 data_select_bit、l2_cache_ctl、burst_src_stride、burst_dst_stride 改为 enable_data_select、l2_cache_mode、src_stride、dst_stride;其中第 8 个参数从 uint8_t 改为 asc_load_l2_cache_mode。删除 _sync 调用后,在常规接口之后调用 asc_sync。 | | 旧 asc_copy_gm2l1_dn2nz 常规重载及所有 _sync 重载 | 带 asc_load_l2_cache_mode l2_cache_mode 的 asc_copy_gm2l1_dn2nz 常规重载 + asc_sync | 将旧 L2 Cache 控制参数替换为 asc_load_l2_cache_mode l2_cache_mode;删除 _sync 调用后,在常规接口之后调用 asc_sync。 | | 旧 asc_copy_gm2l1_nd2nz 常规重载及所有 _sync 重载 | 带 asc_load_l2_cache_mode l2_cache_mode 的 asc_copy_gm2l1_nd2nz 常规重载 + asc_sync | 将旧 L2 Cache 控制参数替换为 asc_load_l2_cache_mode l2_cache_mode;删除 _sync 调用后,在常规接口之后调用 asc_sync。 | | asc_copy_gm2l1 的 uint8_t pad_func_mode 常规重载及对应 _sync 重载 | asc_copy_gm2l1 的 asc_channel_pad_mode pad_mode 常规重载 + asc_sync | 原 uint8_t pad_func_mode 参数改为 asc_channel_pad_mode pad_mode 参数;删除 _sync 调用后,在常规接口之后调用 asc_sync。 | | asc_copy_gm2l1 的 uint8_t decomp_mode、uint8_t l2_cache_ctl 常规重载及对应 _sync 重载 | 使用 asc_load_l2_cache_mode l2_cache_mode 的 asc_copy_gm2l1 常规重载 + asc_sync | 新接口不再传入 decomp_mode;原 uint8_t l2_cache_ctl 改为 asc_load_l2_cache_mode l2_cache_mode;删除 _sync 调用后,在常规接口之后调用 asc_sync。 | | asc_copy_l12ub_sync | asc_copy_l12ub(..., int8_t sub_blockid) + asc_sync | 常规 asc_copy_l12ub 的 sub_blockid 参数从 bool 改为 int8_t;仅废弃 _sync 重载,常规接口保留。删除 _sync 调用后,在常规接口之后调用 asc_sync。 | ### 本次实现范围 - 在 include/c_api 的公共声明、2201/3510 的实现包装层以及 cube_datamove_composite.h 中,为上表列出的旧重载添加废弃标记。 - 新增 asc_channel_pad_mode 枚举定义和文档。 - 旧接口文档移动到 deprecated_interface 目录;归档文档保留旧函数原型、旧参数、旧约束和旧示例,并在功能说明第一段给出替代接口。 - 活跃接口文档删除已废弃原型,只保留当前重载,并更新参数表和调用示例。 - 更新 API 导航、C API 废弃接口索引及附录废弃接口清单。 - 更新 host-header 检查和 3510 定向测试的调用;删除仅用于旧接口的测试用例。 ### 未废弃的参数化重载 以下旧重载不废弃,本 PR 仅补充或使用新重载: | 接口 | 保留的旧重载 | 新增重载 | |---|---|---| | asc_set_gm2l1_nz_para | asc_set_gm2l1_nz_para(uint64_t config) | asc_set_gm2l1_nz_para(uint16_t matrix_num, uint16_t dst_nz_n_stride, uint16_t dst_nz_c0_stride, uint16_t dst_nz_matrix_stride) | | asc_set_l0c_copy_prequant | asc_set_l0c_copy_prequant(uint64_t config) | asc_set_l0c_copy_prequant(float scale, uint16_t offset, bool is_signed) | | asc_set_l13d_rpt | asc_set_l13d_rpt(asc_load3d_v2_config& config) | asc_set_l13d_rpt(uint16_t repeat_stride, uint8_t repeat_times, asc_l13d_repeat_direction repeat_direction, uint16_t dst_stride_k, uint16_t dst_start_pos_m) | | asc_set_l13d_rpt_b | asc_set_l3d_rpt_b(uint64_t config) | asc_set_l13d_rpt_b(uint16_t repeat_stride, uint8_t repeat_times, asc_l13d_repeat_direction repeat_direction, uint16_t dst_stride_k, uint16_t dst_start_pos_m) | | asc_set_l13d_fmatrix | asc_set_l13d_fmatrix(asc_l13d_fmatrix_config& config) | asc_set_l13d_fmatrix(uint16_t fmatrix_w, uint16_t fmatrix_h, uint8_t pad_left, uint8_t pad_right, uint8_t pad_top, uint8_t pad_bottom) | | asc_set_l13d_fmatrix_b | asc_set_l13d_fmatrix_b(asc_l13d_fmatrix_config& config) | asc_set_l13d_fmatrix_b(uint16_t fmatrix_w, uint16_t fmatrix_h, uint8_t pad_left, uint8_t pad_right, uint8_t pad_top, uint8_t pad_bottom) | ## 关联的Issue 无。 ## 测试 - git diff --check:通过。 - pre-commit:通过,包括 clang-format、codespell、OAT 合规检查和 Markdown 链接检查。 - 同步更新 C API host-header 检查及 3510 定向 UT 覆盖的接口调用。 ## 文档更新 - 归档废弃接口文档,并保留原接口说明、参数、约束和示例。 - 更新活跃接口文档、API 导航、C API 废弃接口索引和附录废弃接口清单。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5740 | 11 天前 | |
feat(c_api): add asc_vcvt unified conversion api Co-authored-by: Joey_guo<guojianyang@huawei.com> # message auto-generated for no-merge-commit merge: !5557 merge asc_vcvt into master feat(c_api): add asc_vcvt unified conversion api Created-by: Joey_guo Commit-by: Joey_guo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增通用类型转换的asc_cast接口,该接口通过数据类型重载和编译期标签分发,支持任意硬件支持的类型转换及饱和模式、舍入模式、位置模式的控制,并为三者的控制模式提供对应的编译期常量。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 自验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA,文档由后续PR合入补充 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5557 | 12 天前 | |
refactor: 按公开接口头平铺 C API 实现并简化调用层 Co-authored-by: lihuaichao<lihuaichao1@huawei.com> # message auto-generated for no-merge-commit merge: !5773 merge capi_impl_refactor into master refactor: 按公开接口头平铺 C API 实现并简化调用层 Created-by: lihuaichao Commit-by: lihuaichao Merged-by: cann-robot Description: ## 描述 C API 原实现使用多层聚合头,公开头会引入无关实现。本变更按实际声明接口的公开头平铺实现,并消除无意义的私有函数转发层。 - 将原 instr_impl 目录重组为 90 个实现头:memory_base_impl 下 26 个、reg_base_impl 公共部分 45 个、npu_arch_3510 专用部分 19 个。共享工具实现保留为 utils_impl.h。 - 将 asc_copy_l0c2ub、asc_copy_gm2ub_align、asc_copy_ub2gm_align、asc_copy_l0c2gm、asc_copy_l0c2l1 的131个公共实现重载移动到3510专用头;保留已有24个废弃重载,公共头按架构宏包含对应专用头。 - 公开头只直接包含同名 *_intf_impl.h。reg_base_impl 公共头通过 #if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3510) 包含同名专用头,专用头不反向包含公共接口实现头;为三个 composite 接口增加公共分发入口。 - 架构专用头统一在公共头顶部包含;去掉 cache_ctrl、spr 公共函数外围的3510限制。asc_set_atomic_none 直接调用 set_atomic_none,消除对公共头后续定义的依赖。 - reg_addr_reg 的公共接口和3510旧接口直接调用 vag_*,保留AIV保护、非AIV默认返回和废弃标记;移除12个宏生成的_impl转发重载,消除顶部include的声明顺序依赖。 - memory_base_impl 和 reg_base_impl 移除重复的 *_impl 私有转发层,基础接口直接实现底层指令调用,保留必要的参数及返回值适配,以及实际承担同步分发职责的辅助函数。公开声明、重载和原有架构支持范围保持不变。 - composite 接口直接组合底层指令,删除对非 sync 接口实现头的冗余依赖;utils_impl.h 已实现的同步和 mask 辅助操作复用现有工具函数,保留原有条件执行语义。 - 为 sync composite 接口补齐与对应基础操作一致的 AIC/AIV 保护,计算和同步一起受保护,避免在非目标核执行同步。 - 清理 composite 中的34组冗余作用域和多余空行,合并4处重复临时变量并保留地址更新语义。storeunalign composite 恢复 asc_get_vf_len 查询及所需 sys_var.h 依赖,零偏移参数直接使用0。 - 90 个实现头沿用原有 #warning、保护顺序和 UNDEF_ASCENDC_C_API_INCLUDE_COMPILER_INTERNAL_HEADERS_ASCENDC 清理标记,按新路径调整防重复包含宏和警告路径。 - 按实际依赖删除冗余 defs.h 和 utils_impl.h 引用,保留宏及工具函数所需依赖;清理仅有接口名的注释和 49 个空 __asc_aicore 命名空间块,保留有实际内容的命名空间及算法、参数和约束说明。新增或更名的实现头使用 2026 年版权信息。 - 同步最新 master,解决旧 vector_compute_impl.h 的修改/删除冲突,将上游三个 asc_sub_relu_sync 重载的同步修复迁移到新的 memory_base_impl/vector_compute_composite_intf_impl.h。 - 更新目录文档和已有测试引用;classify_rule.yaml 中旧路径的调整保持在本 PR 中。 - 清理22个实现头中的330行冗余、悬空或重复分类注释及多余空行;删除memory_base_impl/vector_datamove_intf_impl.h中已无使用点的两组默认值宏及其重复定义、清理代码,保留硬件位域、使用约束和废弃替代说明。 - 删除两个vector_permute_sel实现头中未调用的ASC_TRANSTO5HD_B8_CALL宏,移除reg_permute_sel对storeunalign实现头的冗余包含,合并两个leakyrelu_sync重载的重复mask恢复,清理两条不准确的storeunalign分类注释。 - 合并master提交4511da2b149ba2bc29d1143a5e21742777199592,解决14个旧聚合头修改/删除冲突,将主线1,414处废弃标记调整迁移到扁平实现;保留接口和底层实现,旧instr_impl目录不恢复。 - sys_var.h先包含defs.h再包含架构实现,确保废弃标记宏在实现使用前定义,支持2201/3510独立包含该公开头。 - 同步master 2abedf248的回退变更:memory/reg的utils统一引用恢复后的impl/utils/sys_macros.h,保留主线恢复的两个兼容入口头。 ## 关联的Issue 无。 ## 测试 接口迁移后已完成公开入口及实现头语法编译、接口对比。本次格式修复使用与CI一致的clang-format 18.1.8,调整两处vadds调用的参数换行,无非空白字符变更;UT、安装目录和重复包含结果来自此前验证。 - 对比主线提交 83f55b37a8ad61662b97a61ce2646f6c660b64df:74个公开头、90个新实现头与659个旧实现头核对,2201/3510公开声明和公开实现新增、删除均为0;122个架构/公开头组合中6,178条原有接口引用关系保持可达。 - 2201/3510 host、单头模式及 device 公开头编译:174 项通过。 - 90项实现头依赖语法编译全部通过(先提供公开入口的基础定义,3510专用头通过公共头引入,不要求裸impl独立包含)。宏展开核对仅剩8个必要同步分发helper。 - 此前87项公开入口重复包含和临时宏清理检查通过。 - 此前四组C API CPU/mock UT共5,057项通过,覆盖2201/3510的AIC/AIV;本次未重跑。 - 此前全新安装目录下5项入口编译通过,无源码C API头回退。 - 本次对150个相关代码文件执行clang-format 18.1.8,格式修复后dry-run和pre-commit clang-format均通过。空白、EOF、YAML、大文件、冲突标记、私钥、拼写和OAT hook通过;无适用文件的JSON、ruff检查跳过。 - 本地完整pre-commit的Markdown检查因已有文档链接 http://optipng.sourceforge.net/ 网络不可达未通过;未修改该无关文档或检查配置,远端检查结果需以新提交CI为准。 - 最近的注释和无用宏清理已通过22个文件的clang-format 18.1.8及git diff --check;逐文件剔除注释、空白和指定无用宏后与修改前一致,未改动函数实现;本轮未重跑编译或UT。 - 合并后全量对照master 4511da2b1及原目录6ee902416:公开声明/实现无新增或缺失,原有6,178条入口匹配关系保留;90个实现头语法检查通过。四组CPU/mock UT重新构建后5,057项全部通过。 - sys_var.h包含顺序修复后,重新执行全部174项公开入口语法检查,174项全部通过,之前6项sys_var独立包含失败已消除;clang-format 18.1.8和git diff --check通过。本次仅调整包含顺序,未重复运行UT。 - 再次同步master 2abedf248后,含恢复的兼容入口在内共178项公开入口语法检查全部通过;90个实现头的包含路径和保护宏静态检查通过,相关文件clang-format检查通过。 - 未运行真实 NPU 测试。上述检查不将原有跨架构的声明/实现差异判定为新增缺陷,也不删除这些接口。 ## 文档更新 更新中英文 C API 贡献指南、目录结构说明以及已有 C API UT 目录映射,说明公共入口、架构专用实现与必要辅助函数的组织方式。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5773 | 16 天前 | |
增加warning和宏保护 Co-authored-by: JC1126<jiangchao69@h-partners.com> # message auto-generated for no-merge-commit merge: !5453 merge jc_082806 into master 增加warning和宏保护 Created-by: JC1126 Commit-by: JC1126 Merged-by: cann-robot Description: ## 描述 增加warning和宏保护 ## 关联的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!5453 | 25 天前 | |
feat(c_api): add missing return-value conversion overloads Co-authored-by: Joey_guo<guojianyang@huawei.com> # message auto-generated for no-merge-commit merge: !6186 merge b4doc into master feat(c_api): add missing return-value conversion overloads Created-by: Joey_guo Commit-by: Joey_guo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增带返回值的部分类型转换c api接口,并对应补齐文档。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 自验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了asc_half2int4x2_t.md等文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6186 | 7 天前 | |
refactor: 按公开接口头平铺 C API 实现并简化调用层 Co-authored-by: lihuaichao<lihuaichao1@huawei.com> # message auto-generated for no-merge-commit merge: !5773 merge capi_impl_refactor into master refactor: 按公开接口头平铺 C API 实现并简化调用层 Created-by: lihuaichao Commit-by: lihuaichao Merged-by: cann-robot Description: ## 描述 C API 原实现使用多层聚合头,公开头会引入无关实现。本变更按实际声明接口的公开头平铺实现,并消除无意义的私有函数转发层。 - 将原 instr_impl 目录重组为 90 个实现头:memory_base_impl 下 26 个、reg_base_impl 公共部分 45 个、npu_arch_3510 专用部分 19 个。共享工具实现保留为 utils_impl.h。 - 将 asc_copy_l0c2ub、asc_copy_gm2ub_align、asc_copy_ub2gm_align、asc_copy_l0c2gm、asc_copy_l0c2l1 的131个公共实现重载移动到3510专用头;保留已有24个废弃重载,公共头按架构宏包含对应专用头。 - 公开头只直接包含同名 *_intf_impl.h。reg_base_impl 公共头通过 #if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3510) 包含同名专用头,专用头不反向包含公共接口实现头;为三个 composite 接口增加公共分发入口。 - 架构专用头统一在公共头顶部包含;去掉 cache_ctrl、spr 公共函数外围的3510限制。asc_set_atomic_none 直接调用 set_atomic_none,消除对公共头后续定义的依赖。 - reg_addr_reg 的公共接口和3510旧接口直接调用 vag_*,保留AIV保护、非AIV默认返回和废弃标记;移除12个宏生成的_impl转发重载,消除顶部include的声明顺序依赖。 - memory_base_impl 和 reg_base_impl 移除重复的 *_impl 私有转发层,基础接口直接实现底层指令调用,保留必要的参数及返回值适配,以及实际承担同步分发职责的辅助函数。公开声明、重载和原有架构支持范围保持不变。 - composite 接口直接组合底层指令,删除对非 sync 接口实现头的冗余依赖;utils_impl.h 已实现的同步和 mask 辅助操作复用现有工具函数,保留原有条件执行语义。 - 为 sync composite 接口补齐与对应基础操作一致的 AIC/AIV 保护,计算和同步一起受保护,避免在非目标核执行同步。 - 清理 composite 中的34组冗余作用域和多余空行,合并4处重复临时变量并保留地址更新语义。storeunalign composite 恢复 asc_get_vf_len 查询及所需 sys_var.h 依赖,零偏移参数直接使用0。 - 90 个实现头沿用原有 #warning、保护顺序和 UNDEF_ASCENDC_C_API_INCLUDE_COMPILER_INTERNAL_HEADERS_ASCENDC 清理标记,按新路径调整防重复包含宏和警告路径。 - 按实际依赖删除冗余 defs.h 和 utils_impl.h 引用,保留宏及工具函数所需依赖;清理仅有接口名的注释和 49 个空 __asc_aicore 命名空间块,保留有实际内容的命名空间及算法、参数和约束说明。新增或更名的实现头使用 2026 年版权信息。 - 同步最新 master,解决旧 vector_compute_impl.h 的修改/删除冲突,将上游三个 asc_sub_relu_sync 重载的同步修复迁移到新的 memory_base_impl/vector_compute_composite_intf_impl.h。 - 更新目录文档和已有测试引用;classify_rule.yaml 中旧路径的调整保持在本 PR 中。 - 清理22个实现头中的330行冗余、悬空或重复分类注释及多余空行;删除memory_base_impl/vector_datamove_intf_impl.h中已无使用点的两组默认值宏及其重复定义、清理代码,保留硬件位域、使用约束和废弃替代说明。 - 删除两个vector_permute_sel实现头中未调用的ASC_TRANSTO5HD_B8_CALL宏,移除reg_permute_sel对storeunalign实现头的冗余包含,合并两个leakyrelu_sync重载的重复mask恢复,清理两条不准确的storeunalign分类注释。 - 合并master提交4511da2b149ba2bc29d1143a5e21742777199592,解决14个旧聚合头修改/删除冲突,将主线1,414处废弃标记调整迁移到扁平实现;保留接口和底层实现,旧instr_impl目录不恢复。 - sys_var.h先包含defs.h再包含架构实现,确保废弃标记宏在实现使用前定义,支持2201/3510独立包含该公开头。 - 同步master 2abedf248的回退变更:memory/reg的utils统一引用恢复后的impl/utils/sys_macros.h,保留主线恢复的两个兼容入口头。 ## 关联的Issue 无。 ## 测试 接口迁移后已完成公开入口及实现头语法编译、接口对比。本次格式修复使用与CI一致的clang-format 18.1.8,调整两处vadds调用的参数换行,无非空白字符变更;UT、安装目录和重复包含结果来自此前验证。 - 对比主线提交 83f55b37a8ad61662b97a61ce2646f6c660b64df:74个公开头、90个新实现头与659个旧实现头核对,2201/3510公开声明和公开实现新增、删除均为0;122个架构/公开头组合中6,178条原有接口引用关系保持可达。 - 2201/3510 host、单头模式及 device 公开头编译:174 项通过。 - 90项实现头依赖语法编译全部通过(先提供公开入口的基础定义,3510专用头通过公共头引入,不要求裸impl独立包含)。宏展开核对仅剩8个必要同步分发helper。 - 此前87项公开入口重复包含和临时宏清理检查通过。 - 此前四组C API CPU/mock UT共5,057项通过,覆盖2201/3510的AIC/AIV;本次未重跑。 - 此前全新安装目录下5项入口编译通过,无源码C API头回退。 - 本次对150个相关代码文件执行clang-format 18.1.8,格式修复后dry-run和pre-commit clang-format均通过。空白、EOF、YAML、大文件、冲突标记、私钥、拼写和OAT hook通过;无适用文件的JSON、ruff检查跳过。 - 本地完整pre-commit的Markdown检查因已有文档链接 http://optipng.sourceforge.net/ 网络不可达未通过;未修改该无关文档或检查配置,远端检查结果需以新提交CI为准。 - 最近的注释和无用宏清理已通过22个文件的clang-format 18.1.8及git diff --check;逐文件剔除注释、空白和指定无用宏后与修改前一致,未改动函数实现;本轮未重跑编译或UT。 - 合并后全量对照master 4511da2b1及原目录6ee902416:公开声明/实现无新增或缺失,原有6,178条入口匹配关系保留;90个实现头语法检查通过。四组CPU/mock UT重新构建后5,057项全部通过。 - sys_var.h包含顺序修复后,重新执行全部174项公开入口语法检查,174项全部通过,之前6项sys_var独立包含失败已消除;clang-format 18.1.8和git diff --check通过。本次仅调整包含顺序,未重复运行UT。 - 再次同步master 2abedf248后,含恢复的兼容入口在内共178项公开入口语法检查全部通过;90个实现头的包含路径和保护宏静态检查通过,相关文件clang-format检查通过。 - 未运行真实 NPU 测试。上述检查不将原有跨架构的声明/实现差异判定为新增缺陷,也不删除这些接口。 ## 文档更新 更新中英文 C API 贡献指南、目录结构说明以及已有 C API UT 目录映射,说明公共入口、架构专用实现与必要辅助函数的组织方式。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5773 | 16 天前 | |
refactor: 按公开接口头平铺 C API 实现并简化调用层 Co-authored-by: lihuaichao<lihuaichao1@huawei.com> # message auto-generated for no-merge-commit merge: !5773 merge capi_impl_refactor into master refactor: 按公开接口头平铺 C API 实现并简化调用层 Created-by: lihuaichao Commit-by: lihuaichao Merged-by: cann-robot Description: ## 描述 C API 原实现使用多层聚合头,公开头会引入无关实现。本变更按实际声明接口的公开头平铺实现,并消除无意义的私有函数转发层。 - 将原 instr_impl 目录重组为 90 个实现头:memory_base_impl 下 26 个、reg_base_impl 公共部分 45 个、npu_arch_3510 专用部分 19 个。共享工具实现保留为 utils_impl.h。 - 将 asc_copy_l0c2ub、asc_copy_gm2ub_align、asc_copy_ub2gm_align、asc_copy_l0c2gm、asc_copy_l0c2l1 的131个公共实现重载移动到3510专用头;保留已有24个废弃重载,公共头按架构宏包含对应专用头。 - 公开头只直接包含同名 *_intf_impl.h。reg_base_impl 公共头通过 #if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3510) 包含同名专用头,专用头不反向包含公共接口实现头;为三个 composite 接口增加公共分发入口。 - 架构专用头统一在公共头顶部包含;去掉 cache_ctrl、spr 公共函数外围的3510限制。asc_set_atomic_none 直接调用 set_atomic_none,消除对公共头后续定义的依赖。 - reg_addr_reg 的公共接口和3510旧接口直接调用 vag_*,保留AIV保护、非AIV默认返回和废弃标记;移除12个宏生成的_impl转发重载,消除顶部include的声明顺序依赖。 - memory_base_impl 和 reg_base_impl 移除重复的 *_impl 私有转发层,基础接口直接实现底层指令调用,保留必要的参数及返回值适配,以及实际承担同步分发职责的辅助函数。公开声明、重载和原有架构支持范围保持不变。 - composite 接口直接组合底层指令,删除对非 sync 接口实现头的冗余依赖;utils_impl.h 已实现的同步和 mask 辅助操作复用现有工具函数,保留原有条件执行语义。 - 为 sync composite 接口补齐与对应基础操作一致的 AIC/AIV 保护,计算和同步一起受保护,避免在非目标核执行同步。 - 清理 composite 中的34组冗余作用域和多余空行,合并4处重复临时变量并保留地址更新语义。storeunalign composite 恢复 asc_get_vf_len 查询及所需 sys_var.h 依赖,零偏移参数直接使用0。 - 90 个实现头沿用原有 #warning、保护顺序和 UNDEF_ASCENDC_C_API_INCLUDE_COMPILER_INTERNAL_HEADERS_ASCENDC 清理标记,按新路径调整防重复包含宏和警告路径。 - 按实际依赖删除冗余 defs.h 和 utils_impl.h 引用,保留宏及工具函数所需依赖;清理仅有接口名的注释和 49 个空 __asc_aicore 命名空间块,保留有实际内容的命名空间及算法、参数和约束说明。新增或更名的实现头使用 2026 年版权信息。 - 同步最新 master,解决旧 vector_compute_impl.h 的修改/删除冲突,将上游三个 asc_sub_relu_sync 重载的同步修复迁移到新的 memory_base_impl/vector_compute_composite_intf_impl.h。 - 更新目录文档和已有测试引用;classify_rule.yaml 中旧路径的调整保持在本 PR 中。 - 清理22个实现头中的330行冗余、悬空或重复分类注释及多余空行;删除memory_base_impl/vector_datamove_intf_impl.h中已无使用点的两组默认值宏及其重复定义、清理代码,保留硬件位域、使用约束和废弃替代说明。 - 删除两个vector_permute_sel实现头中未调用的ASC_TRANSTO5HD_B8_CALL宏,移除reg_permute_sel对storeunalign实现头的冗余包含,合并两个leakyrelu_sync重载的重复mask恢复,清理两条不准确的storeunalign分类注释。 - 合并master提交4511da2b149ba2bc29d1143a5e21742777199592,解决14个旧聚合头修改/删除冲突,将主线1,414处废弃标记调整迁移到扁平实现;保留接口和底层实现,旧instr_impl目录不恢复。 - sys_var.h先包含defs.h再包含架构实现,确保废弃标记宏在实现使用前定义,支持2201/3510独立包含该公开头。 - 同步master 2abedf248的回退变更:memory/reg的utils统一引用恢复后的impl/utils/sys_macros.h,保留主线恢复的两个兼容入口头。 ## 关联的Issue 无。 ## 测试 接口迁移后已完成公开入口及实现头语法编译、接口对比。本次格式修复使用与CI一致的clang-format 18.1.8,调整两处vadds调用的参数换行,无非空白字符变更;UT、安装目录和重复包含结果来自此前验证。 - 对比主线提交 83f55b37a8ad61662b97a61ce2646f6c660b64df:74个公开头、90个新实现头与659个旧实现头核对,2201/3510公开声明和公开实现新增、删除均为0;122个架构/公开头组合中6,178条原有接口引用关系保持可达。 - 2201/3510 host、单头模式及 device 公开头编译:174 项通过。 - 90项实现头依赖语法编译全部通过(先提供公开入口的基础定义,3510专用头通过公共头引入,不要求裸impl独立包含)。宏展开核对仅剩8个必要同步分发helper。 - 此前87项公开入口重复包含和临时宏清理检查通过。 - 此前四组C API CPU/mock UT共5,057项通过,覆盖2201/3510的AIC/AIV;本次未重跑。 - 此前全新安装目录下5项入口编译通过,无源码C API头回退。 - 本次对150个相关代码文件执行clang-format 18.1.8,格式修复后dry-run和pre-commit clang-format均通过。空白、EOF、YAML、大文件、冲突标记、私钥、拼写和OAT hook通过;无适用文件的JSON、ruff检查跳过。 - 本地完整pre-commit的Markdown检查因已有文档链接 http://optipng.sourceforge.net/ 网络不可达未通过;未修改该无关文档或检查配置,远端检查结果需以新提交CI为准。 - 最近的注释和无用宏清理已通过22个文件的clang-format 18.1.8及git diff --check;逐文件剔除注释、空白和指定无用宏后与修改前一致,未改动函数实现;本轮未重跑编译或UT。 - 合并后全量对照master 4511da2b1及原目录6ee902416:公开声明/实现无新增或缺失,原有6,178条入口匹配关系保留;90个实现头语法检查通过。四组CPU/mock UT重新构建后5,057项全部通过。 - sys_var.h包含顺序修复后,重新执行全部174项公开入口语法检查,174项全部通过,之前6项sys_var独立包含失败已消除;clang-format 18.1.8和git diff --check通过。本次仅调整包含顺序,未重复运行UT。 - 再次同步master 2abedf248后,含恢复的兼容入口在内共178项公开入口语法检查全部通过;90个实现头的包含路径和保护宏静态检查通过,相关文件clang-format检查通过。 - 未运行真实 NPU 测试。上述检查不将原有跨架构的声明/实现差异判定为新增缺陷,也不删除这些接口。 ## 文档更新 更新中英文 C API 贡献指南、目录结构说明以及已有 C API UT 目录映射,说明公共入口、架构专用实现与必要辅助函数的组织方式。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5773 | 16 天前 | |
refactor: 按公开接口头平铺 C API 实现并简化调用层 Co-authored-by: lihuaichao<lihuaichao1@huawei.com> # message auto-generated for no-merge-commit merge: !5773 merge capi_impl_refactor into master refactor: 按公开接口头平铺 C API 实现并简化调用层 Created-by: lihuaichao Commit-by: lihuaichao Merged-by: cann-robot Description: ## 描述 C API 原实现使用多层聚合头,公开头会引入无关实现。本变更按实际声明接口的公开头平铺实现,并消除无意义的私有函数转发层。 - 将原 instr_impl 目录重组为 90 个实现头:memory_base_impl 下 26 个、reg_base_impl 公共部分 45 个、npu_arch_3510 专用部分 19 个。共享工具实现保留为 utils_impl.h。 - 将 asc_copy_l0c2ub、asc_copy_gm2ub_align、asc_copy_ub2gm_align、asc_copy_l0c2gm、asc_copy_l0c2l1 的131个公共实现重载移动到3510专用头;保留已有24个废弃重载,公共头按架构宏包含对应专用头。 - 公开头只直接包含同名 *_intf_impl.h。reg_base_impl 公共头通过 #if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3510) 包含同名专用头,专用头不反向包含公共接口实现头;为三个 composite 接口增加公共分发入口。 - 架构专用头统一在公共头顶部包含;去掉 cache_ctrl、spr 公共函数外围的3510限制。asc_set_atomic_none 直接调用 set_atomic_none,消除对公共头后续定义的依赖。 - reg_addr_reg 的公共接口和3510旧接口直接调用 vag_*,保留AIV保护、非AIV默认返回和废弃标记;移除12个宏生成的_impl转发重载,消除顶部include的声明顺序依赖。 - memory_base_impl 和 reg_base_impl 移除重复的 *_impl 私有转发层,基础接口直接实现底层指令调用,保留必要的参数及返回值适配,以及实际承担同步分发职责的辅助函数。公开声明、重载和原有架构支持范围保持不变。 - composite 接口直接组合底层指令,删除对非 sync 接口实现头的冗余依赖;utils_impl.h 已实现的同步和 mask 辅助操作复用现有工具函数,保留原有条件执行语义。 - 为 sync composite 接口补齐与对应基础操作一致的 AIC/AIV 保护,计算和同步一起受保护,避免在非目标核执行同步。 - 清理 composite 中的34组冗余作用域和多余空行,合并4处重复临时变量并保留地址更新语义。storeunalign composite 恢复 asc_get_vf_len 查询及所需 sys_var.h 依赖,零偏移参数直接使用0。 - 90 个实现头沿用原有 #warning、保护顺序和 UNDEF_ASCENDC_C_API_INCLUDE_COMPILER_INTERNAL_HEADERS_ASCENDC 清理标记,按新路径调整防重复包含宏和警告路径。 - 按实际依赖删除冗余 defs.h 和 utils_impl.h 引用,保留宏及工具函数所需依赖;清理仅有接口名的注释和 49 个空 __asc_aicore 命名空间块,保留有实际内容的命名空间及算法、参数和约束说明。新增或更名的实现头使用 2026 年版权信息。 - 同步最新 master,解决旧 vector_compute_impl.h 的修改/删除冲突,将上游三个 asc_sub_relu_sync 重载的同步修复迁移到新的 memory_base_impl/vector_compute_composite_intf_impl.h。 - 更新目录文档和已有测试引用;classify_rule.yaml 中旧路径的调整保持在本 PR 中。 - 清理22个实现头中的330行冗余、悬空或重复分类注释及多余空行;删除memory_base_impl/vector_datamove_intf_impl.h中已无使用点的两组默认值宏及其重复定义、清理代码,保留硬件位域、使用约束和废弃替代说明。 - 删除两个vector_permute_sel实现头中未调用的ASC_TRANSTO5HD_B8_CALL宏,移除reg_permute_sel对storeunalign实现头的冗余包含,合并两个leakyrelu_sync重载的重复mask恢复,清理两条不准确的storeunalign分类注释。 - 合并master提交4511da2b149ba2bc29d1143a5e21742777199592,解决14个旧聚合头修改/删除冲突,将主线1,414处废弃标记调整迁移到扁平实现;保留接口和底层实现,旧instr_impl目录不恢复。 - sys_var.h先包含defs.h再包含架构实现,确保废弃标记宏在实现使用前定义,支持2201/3510独立包含该公开头。 - 同步master 2abedf248的回退变更:memory/reg的utils统一引用恢复后的impl/utils/sys_macros.h,保留主线恢复的两个兼容入口头。 ## 关联的Issue 无。 ## 测试 接口迁移后已完成公开入口及实现头语法编译、接口对比。本次格式修复使用与CI一致的clang-format 18.1.8,调整两处vadds调用的参数换行,无非空白字符变更;UT、安装目录和重复包含结果来自此前验证。 - 对比主线提交 83f55b37a8ad61662b97a61ce2646f6c660b64df:74个公开头、90个新实现头与659个旧实现头核对,2201/3510公开声明和公开实现新增、删除均为0;122个架构/公开头组合中6,178条原有接口引用关系保持可达。 - 2201/3510 host、单头模式及 device 公开头编译:174 项通过。 - 90项实现头依赖语法编译全部通过(先提供公开入口的基础定义,3510专用头通过公共头引入,不要求裸impl独立包含)。宏展开核对仅剩8个必要同步分发helper。 - 此前87项公开入口重复包含和临时宏清理检查通过。 - 此前四组C API CPU/mock UT共5,057项通过,覆盖2201/3510的AIC/AIV;本次未重跑。 - 此前全新安装目录下5项入口编译通过,无源码C API头回退。 - 本次对150个相关代码文件执行clang-format 18.1.8,格式修复后dry-run和pre-commit clang-format均通过。空白、EOF、YAML、大文件、冲突标记、私钥、拼写和OAT hook通过;无适用文件的JSON、ruff检查跳过。 - 本地完整pre-commit的Markdown检查因已有文档链接 http://optipng.sourceforge.net/ 网络不可达未通过;未修改该无关文档或检查配置,远端检查结果需以新提交CI为准。 - 最近的注释和无用宏清理已通过22个文件的clang-format 18.1.8及git diff --check;逐文件剔除注释、空白和指定无用宏后与修改前一致,未改动函数实现;本轮未重跑编译或UT。 - 合并后全量对照master 4511da2b1及原目录6ee902416:公开声明/实现无新增或缺失,原有6,178条入口匹配关系保留;90个实现头语法检查通过。四组CPU/mock UT重新构建后5,057项全部通过。 - sys_var.h包含顺序修复后,重新执行全部174项公开入口语法检查,174项全部通过,之前6项sys_var独立包含失败已消除;clang-format 18.1.8和git diff --check通过。本次仅调整包含顺序,未重复运行UT。 - 再次同步master 2abedf248后,含恢复的兼容入口在内共178项公开入口语法检查全部通过;90个实现头的包含路径和保护宏静态检查通过,相关文件clang-format检查通过。 - 未运行真实 NPU 测试。上述检查不将原有跨架构的声明/实现差异判定为新增缺陷,也不删除这些接口。 ## 文档更新 更新中英文 C API 贡献指南、目录结构说明以及已有 C API UT 目录映射,说明公共入口、架构专用实现与必要辅助函数的组织方式。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5773 | 16 天前 | |
fix: remove duplicate c api headers Co-authored-by: flyingXLB<2108184158@qq.com> # message auto-generated for no-merge-commit merge: !6012 merge fix/master-c-api-duplicate-headers into master fix: remove duplicate c api headers Created-by: flyingXLB Commit-by: flyingXLB Merged-by: cann-robot Description: ## 描述 该 PR 旨在移除 C API 中重复的(转发型/已废弃)头文件。被删除的 include/c_api/sys_var/sys_var.h、include/c_api/utils/enum.h、include/c_api/utils/union.h 均只是带有 ASCENDC_C_API_INCLUDE_COMPILER_INTERNAL_HEADERS 宏保护、内部 #include 转发到标准位置(c_api/utils/sys_var.h、c_api/defs/enum.h、c_api/defs/union.h)的旧入口,删除后统一收敛到规范头文件路径;同时同步修正测试桩中对旧头文件的引用,避免删除后编译失败。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6012 | 10 天前 | |
feat: 补充2201 Cube C API接口 Co-authored-by: zhangjiru<zhangjiru1@huawei.com> # message auto-generated for no-merge-commit merge: !5736 merge feat/a2a3-matrix-load-api-upstream into master feat: 补充2201 Cube C API接口 Created-by: leozjr Commit-by: zhangjiru Merged-by: cann-robot Description: ## 描述 补齐 Atlas A2 训练/推理系列产品支持的 2201 Cube C API 实现。 - 新增 asc_disable_hf32、asc_set_l0c_copy_config 和 asc_set_l0c_copy_lrelu_alpha(float)。 - 为 asc_set_l13d_rpt、asc_set_l13d_fmatrix、asc_set_l13d_fmatrix_b 补充参数化 overload。 - 新增 asc_set_gm2l1_padding 和 asc_set_l12l0a_3d_padding 的 2201 实现及类型化 overload。 - 改名接口使用独立的 *_impl.h 文件并由对应架构聚合头显式包含。 - asc_set_l0c_copy_lrelu_alpha 仅提供 float 形式,不迁移旧 half& 形式。 ## 关联的Issue ## 测试 - cmake --build build --target ascendc_ut_c_api_ascend910B1_AIC -j8 - 354 个 2201 AIC C API 测试通过。 - 新增接口聚焦 UT:10 个测试、7 个测试套件全部通过。 - git diff --check 通过。 ## 文档更新 无。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5736 | 13 天前 | |
refactor: 按公开接口头平铺 C API 实现并简化调用层 Co-authored-by: lihuaichao<lihuaichao1@huawei.com> # message auto-generated for no-merge-commit merge: !5773 merge capi_impl_refactor into master refactor: 按公开接口头平铺 C API 实现并简化调用层 Created-by: lihuaichao Commit-by: lihuaichao Merged-by: cann-robot Description: ## 描述 C API 原实现使用多层聚合头,公开头会引入无关实现。本变更按实际声明接口的公开头平铺实现,并消除无意义的私有函数转发层。 - 将原 instr_impl 目录重组为 90 个实现头:memory_base_impl 下 26 个、reg_base_impl 公共部分 45 个、npu_arch_3510 专用部分 19 个。共享工具实现保留为 utils_impl.h。 - 将 asc_copy_l0c2ub、asc_copy_gm2ub_align、asc_copy_ub2gm_align、asc_copy_l0c2gm、asc_copy_l0c2l1 的131个公共实现重载移动到3510专用头;保留已有24个废弃重载,公共头按架构宏包含对应专用头。 - 公开头只直接包含同名 *_intf_impl.h。reg_base_impl 公共头通过 #if defined(__NPU_ARCH__) && (__NPU_ARCH__ == 3510) 包含同名专用头,专用头不反向包含公共接口实现头;为三个 composite 接口增加公共分发入口。 - 架构专用头统一在公共头顶部包含;去掉 cache_ctrl、spr 公共函数外围的3510限制。asc_set_atomic_none 直接调用 set_atomic_none,消除对公共头后续定义的依赖。 - reg_addr_reg 的公共接口和3510旧接口直接调用 vag_*,保留AIV保护、非AIV默认返回和废弃标记;移除12个宏生成的_impl转发重载,消除顶部include的声明顺序依赖。 - memory_base_impl 和 reg_base_impl 移除重复的 *_impl 私有转发层,基础接口直接实现底层指令调用,保留必要的参数及返回值适配,以及实际承担同步分发职责的辅助函数。公开声明、重载和原有架构支持范围保持不变。 - composite 接口直接组合底层指令,删除对非 sync 接口实现头的冗余依赖;utils_impl.h 已实现的同步和 mask 辅助操作复用现有工具函数,保留原有条件执行语义。 - 为 sync composite 接口补齐与对应基础操作一致的 AIC/AIV 保护,计算和同步一起受保护,避免在非目标核执行同步。 - 清理 composite 中的34组冗余作用域和多余空行,合并4处重复临时变量并保留地址更新语义。storeunalign composite 恢复 asc_get_vf_len 查询及所需 sys_var.h 依赖,零偏移参数直接使用0。 - 90 个实现头沿用原有 #warning、保护顺序和 UNDEF_ASCENDC_C_API_INCLUDE_COMPILER_INTERNAL_HEADERS_ASCENDC 清理标记,按新路径调整防重复包含宏和警告路径。 - 按实际依赖删除冗余 defs.h 和 utils_impl.h 引用,保留宏及工具函数所需依赖;清理仅有接口名的注释和 49 个空 __asc_aicore 命名空间块,保留有实际内容的命名空间及算法、参数和约束说明。新增或更名的实现头使用 2026 年版权信息。 - 同步最新 master,解决旧 vector_compute_impl.h 的修改/删除冲突,将上游三个 asc_sub_relu_sync 重载的同步修复迁移到新的 memory_base_impl/vector_compute_composite_intf_impl.h。 - 更新目录文档和已有测试引用;classify_rule.yaml 中旧路径的调整保持在本 PR 中。 - 清理22个实现头中的330行冗余、悬空或重复分类注释及多余空行;删除memory_base_impl/vector_datamove_intf_impl.h中已无使用点的两组默认值宏及其重复定义、清理代码,保留硬件位域、使用约束和废弃替代说明。 - 删除两个vector_permute_sel实现头中未调用的ASC_TRANSTO5HD_B8_CALL宏,移除reg_permute_sel对storeunalign实现头的冗余包含,合并两个leakyrelu_sync重载的重复mask恢复,清理两条不准确的storeunalign分类注释。 - 合并master提交4511da2b149ba2bc29d1143a5e21742777199592,解决14个旧聚合头修改/删除冲突,将主线1,414处废弃标记调整迁移到扁平实现;保留接口和底层实现,旧instr_impl目录不恢复。 - sys_var.h先包含defs.h再包含架构实现,确保废弃标记宏在实现使用前定义,支持2201/3510独立包含该公开头。 - 同步master 2abedf248的回退变更:memory/reg的utils统一引用恢复后的impl/utils/sys_macros.h,保留主线恢复的两个兼容入口头。 ## 关联的Issue 无。 ## 测试 接口迁移后已完成公开入口及实现头语法编译、接口对比。本次格式修复使用与CI一致的clang-format 18.1.8,调整两处vadds调用的参数换行,无非空白字符变更;UT、安装目录和重复包含结果来自此前验证。 - 对比主线提交 83f55b37a8ad61662b97a61ce2646f6c660b64df:74个公开头、90个新实现头与659个旧实现头核对,2201/3510公开声明和公开实现新增、删除均为0;122个架构/公开头组合中6,178条原有接口引用关系保持可达。 - 2201/3510 host、单头模式及 device 公开头编译:174 项通过。 - 90项实现头依赖语法编译全部通过(先提供公开入口的基础定义,3510专用头通过公共头引入,不要求裸impl独立包含)。宏展开核对仅剩8个必要同步分发helper。 - 此前87项公开入口重复包含和临时宏清理检查通过。 - 此前四组C API CPU/mock UT共5,057项通过,覆盖2201/3510的AIC/AIV;本次未重跑。 - 此前全新安装目录下5项入口编译通过,无源码C API头回退。 - 本次对150个相关代码文件执行clang-format 18.1.8,格式修复后dry-run和pre-commit clang-format均通过。空白、EOF、YAML、大文件、冲突标记、私钥、拼写和OAT hook通过;无适用文件的JSON、ruff检查跳过。 - 本地完整pre-commit的Markdown检查因已有文档链接 http://optipng.sourceforge.net/ 网络不可达未通过;未修改该无关文档或检查配置,远端检查结果需以新提交CI为准。 - 最近的注释和无用宏清理已通过22个文件的clang-format 18.1.8及git diff --check;逐文件剔除注释、空白和指定无用宏后与修改前一致,未改动函数实现;本轮未重跑编译或UT。 - 合并后全量对照master 4511da2b1及原目录6ee902416:公开声明/实现无新增或缺失,原有6,178条入口匹配关系保留;90个实现头语法检查通过。四组CPU/mock UT重新构建后5,057项全部通过。 - sys_var.h包含顺序修复后,重新执行全部174项公开入口语法检查,174项全部通过,之前6项sys_var独立包含失败已消除;clang-format 18.1.8和git diff --check通过。本次仅调整包含顺序,未重复运行UT。 - 再次同步master 2abedf248后,含恢复的兼容入口在内共178项公开入口语法检查全部通过;90个实现头的包含路径和保护宏静态检查通过,相关文件clang-format检查通过。 - 未运行真实 NPU 测试。上述检查不将原有跨架构的声明/实现差异判定为新增缺陷,也不删除这些接口。 ## 文档更新 更新中英文 C API 贡献指南、目录结构说明以及已有 C API UT 目录映射,说明公共入口、架构专用实现与必要辅助函数的组织方式。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5773 | 16 天前 | |
增加warning和宏保护 Co-authored-by: JC1126<jiangchao69@h-partners.com> # message auto-generated for no-merge-commit merge: !5453 merge jc_082806 into master 增加warning和宏保护 Created-by: JC1126 Commit-by: JC1126 Merged-by: cann-robot Description: ## 描述 增加warning和宏保护 ## 关联的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!5453 | 25 天前 | |
增加warning和宏保护 Co-authored-by: JC1126<jiangchao69@h-partners.com> # message auto-generated for no-merge-commit merge: !5453 merge jc_082806 into master 增加warning和宏保护 Created-by: JC1126 Commit-by: JC1126 Merged-by: cann-robot Description: ## 描述 增加warning和宏保护 ## 关联的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!5453 | 25 天前 | |
增加warning和宏保护 Co-authored-by: JC1126<jiangchao69@h-partners.com> # message auto-generated for no-merge-commit merge: !5453 merge jc_082806 into master 增加warning和宏保护 Created-by: JC1126 Commit-by: JC1126 Merged-by: cann-robot Description: ## 描述 增加warning和宏保护 ## 关联的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!5453 | 25 天前 | |
增加warning和宏保护 Co-authored-by: JC1126<jiangchao69@h-partners.com> # message auto-generated for no-merge-commit merge: !5453 merge jc_082806 into master 增加warning和宏保护 Created-by: JC1126 Commit-by: JC1126 Merged-by: cann-robot Description: ## 描述 增加warning和宏保护 ## 关联的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!5453 | 25 天前 | |
增加warning和宏保护 Co-authored-by: JC1126<jiangchao69@h-partners.com> # message auto-generated for no-merge-commit merge: !5453 merge jc_082806 into master 增加warning和宏保护 Created-by: JC1126 Commit-by: JC1126 Merged-by: cann-robot Description: ## 描述 增加warning和宏保护 ## 关联的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!5453 | 25 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 13 天前 | ||
| 16 天前 | ||
| 13 天前 | ||
| 11 天前 | ||
| 11 天前 | ||
| 12 天前 | ||
| 16 天前 | ||
| 25 天前 | ||
| 7 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 10 天前 | ||
| 13 天前 | ||
| 16 天前 | ||
| 25 天前 | ||
| 25 天前 | ||
| 25 天前 | ||
| 25 天前 | ||
| 25 天前 |