| chore(okf): sync okf-search skill to latest fixes Co-authored-by: flyingXLB<sz2516004@nuaa.edu.cn> # message auto-generated for no-merge-commit merge: !6619 merge okf-knowledge-user into master chore(okf): sync okf-search skill to latest fixes Created-by: flyingXLB Commit-by: flyingXLB Merged-by: cann-robot Description: ## 描述 新增用户侧asc-search skill,将 API文档、头文件声明和现有asc 样例关联为可检索索引,支持按用途、数据类型、参数、CANN 版本及架构查找候选接口。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6619 | 24 days ago |
| add skill for asc-devkit Co-authored-by: YANXI_ZHAO<zhaoyanxi3@hisilicon.com> # message auto-generated for no-merge-commit merge: !2158 merge master into master add skill for asc-devkit Created-by: YANXI_ZHAO Commit-by: YANXI_ZHAO Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 针对asc-devkit仓增加两个skill,一个skill是asc-api-ut-gen用于自动补全API的单元测试,另一个为asc-npu-arch提供芯片架构相关信息。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!2158 | 5 months ago |
| add skill for asc-devkit Co-authored-by: YANXI_ZHAO<zhaoyanxi3@hisilicon.com> # message auto-generated for no-merge-commit merge: !2158 merge master into master add skill for asc-devkit Created-by: YANXI_ZHAO Commit-by: YANXI_ZHAO Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 针对asc-devkit仓增加两个skill,一个skill是asc-api-ut-gen用于自动补全API的单元测试,另一个为asc-npu-arch提供芯片架构相关信息。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!2158 | 5 months ago |
| fix: 修复PyTorch样例内核启动任务乱序风险 Co-authored-by: zhangyujia77<zhangyujia37@huawei.com> # message auto-generated for no-merge-commit merge: !5765 merge fix/pytorch-stream-queue-sync into master fix: 修复PyTorch样例内核启动任务乱序风险 Created-by: zhangyujia77 Commit-by: zhangyujia77 Merged-by: cann-robot Description: ## 描述 TorchNPU开启任务队列时,stream(false)仅返回底层ACL Stream。样例随后通过<<<>>>直接启动Kernel,未清空任务队列,可能与此前的PyTorch任务乱序执行。将编程指南及PyTorch相关样例中的6处stream(false)修改为stream(true),在直接启动Kernel前完成队列清空。 补充dockerfile中patch、rpm依赖安装。 ## 关联的Issue https://gitcode.com/cann/asc-devkit/issues/1640 ## 测试 ## 文档更新 同步修改PyTorch框架适配文档中的torch.library和Pybind代码片段。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5765 | 1 month ago |
| 修复冒烟代码拉取错误的问题 Co-authored-by: wangyunxiang<wangyunxiang6@h-partners.com> # message auto-generated for no-merge-commit merge: !6576 merge master into master 修复冒烟代码拉取错误的问题 Created-by: wangyunxiang1 Commit-by: wangyunxiang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的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!6576 | 30 days ago |
| add skill for asc-devkit Co-authored-by: YANXI_ZHAO<zhaoyanxi3@hisilicon.com> # message auto-generated for no-merge-commit merge: !2158 merge master into master add skill for asc-devkit Created-by: YANXI_ZHAO Commit-by: YANXI_ZHAO Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 针对asc-devkit仓增加两个skill,一个skill是asc-api-ut-gen用于自动补全API的单元测试,另一个为asc-npu-arch提供芯片架构相关信息。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!2158 | 5 months ago |
| fix: 修复Ascend C Toolkit下载地址(#1565) Co-authored-by: m0_56712298<wukeran@huawei.com> # message auto-generated for no-merge-commit merge: !5282 merge fix/issue-1565-ascend-c-toolkit-link into master fix: 修复Ascend C Toolkit下载地址(#1565) Created-by: m0_56712298 Commit-by: m0_56712298 Merged-by: cann-robot Description: ## 描述 修复 README 中 Ascend C Toolkit 下载地址失效的问题: - 将中英文 README 的安装入口更新为 GitCode Releases 页面。 - 从 .vscode/extensions.json 移除已失效的 Marketplace 扩展 ID。 ## 关联的Issue Fixes #1565 ## 测试 - git diff --check HEAD^ HEAD:通过 - .vscode/extensions.json JSON 解析:通过 - GitCode Releases 页面:HTTP 200;最新版本 1.5.2 包含两个 .vsix 资产 - MARKDOWN_LINK_CHECK_ONLINE=0 bash scripts/markdown_link_check.sh README.md README_en.md:通过,检查 3451 个文件 ## 文档更新 更新 README.md 和 README_en.md 中的 Ascend C Toolkit 下载说明。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5282 | 2 months ago |
| fix: deliver asccomm AICPU headers from devkit Co-authored-by: pandeng01<pandeng37@huawei.com> # message auto-generated for no-merge-commit merge: !6704 merge codex/asccomm-devkit-aicpu-headers into master fix: deliver asccomm AICPU headers from devkit Created-by: pandeng01 Commit-by: pandeng01 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的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!6704 | 24 days ago |
| 适配int4b_t场景 Co-authored-by: treefei<lishufei2@huawei.com> # message auto-generated for no-merge-commit merge: !6738 merge master into master 适配int4b_t场景 Created-by: treefei Commit-by: treefei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> vector侧涉及int4b_t数据类型,需要对数据类型进行支持,以及对int4b_t这种特殊的b4类型进行处理 涉及到公共部分修改的地方: impl/tensor_api/arch/utils/check_data_type.h gm2ub,ub2l1,ub2ub,ub2gm新增支持int4b_t类型 impl/tensor_api/utils/constant_impl.h 加入is_data_type,检查layout是否接受它为类型参数,加入is_b4_type 在相关b4逻辑处理时进行特殊处理 impl/tensor_api/utils/location_impl.h 支持从指针类型 比如 gm int4b_t* 推出类型为 Int4b_t 涉及到ub上int4b_t 到 寄存器上int4x2_t转换的接口: load, load_broadcast,store, load_unalign,其中load, load_broadcast,store未对b4做特殊处理,需要进行适配:对于ub上为int4b_t类型的tensor,对应的寄存器类型为reg_tensor<int4x2_t> ## 关联的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!6738 | 22 days ago |
| tensor api同步非对齐接口 Co-authored-by: treefei<lishufei2@huawei.com> # message auto-generated for no-merge-commit merge: !6667 merge master into master tensor api同步非对齐接口 Created-by: treefei Commit-by: treefei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 在 Tensor API 中提供跨拍有状态的非对齐读写能力,提供unalign_load和unalign_store两个struct类, ureg、pre、post 封装在struct类中,不再直接暴露给 Tensor API 用户,并提供资料和样例。 ## 关联的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!6667 | 23 days ago |
| bugfix:修复bfloat162e1m2x2及bfloat162e2m1x2传参问题 Co-authored-by: yiming0671<zhangyiming69@huawei.com> # message auto-generated for no-merge-commit merge: !6724 merge master into master bugfix:修复bfloat162e1m2x2及bfloat162e2m1x2传参问题 Created-by: yiming0671 Commit-by: yiming0671 Merged-by: cann-robot Description: ## 描述 1、修复bfloat162e1m2x2及bfloat162e2m1x2传参问题。 2、对_merge接口需求进行澄清,去除多余接口。 3、废弃接口置于文件末尾。 ## 关联的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!6724 | 22 days ago |
| bugfix:修复bfloat162e1m2x2及bfloat162e2m1x2传参问题 Co-authored-by: yiming0671<zhangyiming69@huawei.com> # message auto-generated for no-merge-commit merge: !6724 merge master into master bugfix:修复bfloat162e1m2x2及bfloat162e2m1x2传参问题 Created-by: yiming0671 Commit-by: yiming0671 Merged-by: cann-robot Description: ## 描述 1、修复bfloat162e1m2x2及bfloat162e2m1x2传参问题。 2、对_merge接口需求进行澄清,去除多余接口。 3、废弃接口置于文件末尾。 ## 关联的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!6724 | 22 days ago |
| [master] 同步 6612 兼容修复并移除 hccl.h 打包安装 Co-authored-by: jiangxinyu3<jiangxinyu3@hisilicon.com> # message auto-generated for no-merge-commit merge: !6644 merge fix/master-preserve-hccl-header into master [master] 同步 6612 兼容修复并移除 hccl.h 打包安装 Created-by: jiangxinyu3 Commit-by: jiangxinyu3 Merged-by: cann-robot Description: ## 描述 同步 PR #6612 的兼容修复到 master,并移除 PR #6628 临时恢复的 hccl.h 打包安装。 新版 asc-devkit 调用已安装旧包的卸载脚本前,检查同一安装环境的 share/info/hccl。若 HCCL 已安装,则从旧 asc-devkit 的 filelist.csv 中移除 include/hccl/hccl.h 文件记录,避免旧卸载流程误删 HCCL 头文件;未安装 HCCL 时保持原清单。覆盖普通旧包卸载与非多版本迁移两条路径,清单修正失败时终止操作。 同时删除 host 侧 hccl.h 的 CMake 安装规则,以及 AscHcclLib.xml 中 include/hccl 目录和 hccl.h 文件登记,asc-devkit 不再共同安装和卸载该共享头文件。 本次修复覆盖 asc-devkit 直接安装、升级和卸载入口。toolkit 整包升级的旧环境整体卸载,以及 --full 切换 cann 版本目录后的 ops/HCCL 衔接问题不在本 PR 范围内。 ## 关联 PR - https://gitcode.com/cann/asc-devkit/pull/6612 - https://gitcode.com/cann/asc-devkit/pull/6628 ## 验证 - 两个安装脚本与 PR #6612 提交 c9d0160d9e2ca5044724191e832c57a258805f0d 完全一致。 - A5_2p Linux 临时目录脚本回归:9 项通过,覆盖过滤精度、元数据保留、幂等、环境隔离、两条卸载路径和失败传播;旧卸载器使用测试夹具。 - Shell 语法检查、XML 解析及打包安装项移除检查、git diff --check 通过。 - 未执行本次 master 修改的 CANN 编译打包、真实安装包升级或 NPU 验证。 See merge request: cann/asc-devkit!6644 | 23 days ago |
| bugfix:修复bfloat162e1m2x2及bfloat162e2m1x2传参问题 Co-authored-by: yiming0671<zhangyiming69@huawei.com> # message auto-generated for no-merge-commit merge: !6724 merge master into master bugfix:修复bfloat162e1m2x2及bfloat162e2m1x2传参问题 Created-by: yiming0671 Commit-by: yiming0671 Merged-by: cann-robot Description: ## 描述 1、修复bfloat162e1m2x2及bfloat162e2m1x2传参问题。 2、对_merge接口需求进行澄清,去除多余接口。 3、废弃接口置于文件末尾。 ## 关联的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!6724 | 22 days ago |
| feat: 5162新增Conv/MatMul算子相关基础API支持 Co-authored-by: yanjiang-treasure<yanjiangbao@hisilicon.com> # message auto-generated for no-merge-commit merge: !6635 merge feat_conv_api into master feat: 5162新增Conv/MatMul算子相关基础API支持 Created-by: yanjiang-treasure Commit-by: yanjiang-treasure Merged-by: cann-robot Description: ## 描述 1、根据评审要求,dav_v516修改为dav_5162 目录规整(114 文件,+121/-120) 按评审要求把 dav_v516 目录整体重命名为 dav_5162,并同步三处工程配置: - classify_rule.yaml:新增 impl/**/dav_5162/*.h 归属规则; - impl/basic_api/CMakeLists.txt:170:安装软链路径改名; - 114 个 impl/include 头文件的 include 路径。 纯机械变更,不涉及语义。 2、修复上个提交遗留问题 - dav_5162/kernel_operator_common_impl.h:删除 GetStoreAtomicConfigImpl() 中 ASCENDC_ASSERT(false) 之后残留的不支持指令 get_st_atomic_cfg()(该 arch 无此指令); - 两份 516r2 编译命令生成器(tools/build/.../adapter/、asc_op_compiler/ascendc_compile_v220.py):5162只支持 -mllvm -cce-aicore-function-stack-size=0x4000;修正 "cce-simd-vf-fusion=true" → "--cce-simd-vf-fusion=true",删除无效的vl大小配置选项,修复选项名称before拼写错误befor。 3、feat: 5162新增Conv/MatMul算子相关基础API支持 (a)Conv/Mmad 宏指令 —— 新增能力(1396 行新文件) - 新增 dav_5162/kernel_operator_macro_impl.h(774) 与 kernel_operator_macro_bitmode_impl.h(622):SetConvKernel/SetConvFMatrix(+StepPos/Dual0/Dual1)/SetConvPadding/SetConvStride/SetMatrixPara/SetFixPipeConfig/SetFixPipeReluAlpha/SetFixPipeAddr/SetItaMaxAddr/SetMxBufAddr,以及 Convolution/ConvFix/MmadFix/MmadMxFix 执行体;相较 5161 版本增加字段掩码(& 0x1ff/& 0xff/& 0xfff)与 paddingValue 按 b16/b8/b4 打包。 - 指令名切到 5162 的 set_m_* 系列(如 set_m_fmatrix、set_m_padding、set_m_clip_relu、set_m_quant_pre、set_m_elt_src_para、set_m_fpc)。 - ConvFixCal/MmadFixCal/MmadMxFixCal 由显式模板实参改为参数推导;ConvFix 增加 bias tensor 位置校验(L0C/BIAS)。 - 架构白名单扩展到 5162:kernel_operator_macro_intf.h、kernel_operator_macro_bitmode_intf.h、kernel_operator_macro_base_impl.h、kernel_operator_macro_bitmode_struct.h、kernel_struct_macro.h,并按 arch 分派到 dav_5162/ 实现。 (b)Fixpipe —— 由"L0C 基"重写为"L1 基" - dav_5162/kernel_operator_fixpipe_impl.h:删除 808 行 Arch3510 风格 L0C 实现(FixpipeL0C2L1/2UB/2GM、FixpipeTiling、CopyReluTensorToFbuf、IsVector/ScalarQuantMode 等),新增 FixpipeL1ToL1/ToUb/ToOut + FixpipeL12L1Impl/L12UbImpl/L12GmImpl + CheckFixpipeParams(仅允许 b8/b16,src/dst 同类型),底层用 fix_cbuf_to_cbuf/ubuf/gm,支持 ROW_MAJOR(NZ2ND)/COLUMN_MAJOR(NZ2DN)/NORMAL_DMA 三种搬运模式。 - 公共结构:kernel_struct_fixpipe.h 新增 FixpipeParamsV516(nSize/mSize/srcStride/dstStride + nz2nd 用 ndNum/srcNdStride/dstNdStride),FixpipeConfig 对 5162 开放 isToUB、enableFixVal(含 CFG_NZ_FIX)。 - 配置类 API(5162 专属,kernel_operator_fixpipe_intf.h + fixpipe_intf_impl.h):SetFixPipeClipRelu(FixpipeClipReluParams<T1,T2>)、SetFixPipeConfig(uint64_t)、SetFixpipePreQuantFlag(FixPipePreQuantParams<T>)、SetFixpipePostQuant(FixPipePostQuantParams)、SetFixpipeEltAntiq(FixPipeEltAntiqParams<T>)、SetFixpipeEltwiseAddr(uint64_t / FixpipeEltwiseAddrParams);SetFixpipeNz2ndFlag 对 5162 采用 uint32_t dstNdStride 形态。 - 参数结构体与 eltwise_antiq_t(8 种 int8/int4/uint8/int16 标量/向量反量化 + S32 预量化 + NO_ANTIQ)落在 impl/basic_api/utils/kernel_utils_struct_dma_params.h(+141)。 - Nz2NdParams、CANN_ASC_ENABLE_POST_PROC_BUF/SID 等宏对 5162 打开。 (c)MatMul / LoadData —— 5162 通路补齐 - dav_5162/kernel_operator_mm_impl.h(205/296):新增 LoadData2DGM2L0BCal、LoadData2DL12L1Cal、L1→L0A/L0B 转置载入;删除不适用的 LoadData2DL12L0BTransposeCal 旧重载;Load3DSetFMatrixCal/BCal 由直传寄存器改为位域组装。 - 共享层为 5162 开放:LoadData(GM→L1/L0B + Nd2Nz)、LoadData 2D/3D BitMode(Load2D/Load3DBitModeParam)、MX 载入(LoadData2DMxParams)、LoadDataWithStride、SetFmatrix(SetFMatrixBitModeParams, FmatrixMode)、SetLoadDataRepeatWithStride;LoadData 中 5162 新增 L0B 分支。 - GatherMask(reg_compute)增加 5162 分支并接入 reg_compute/dav_5162 实现。 (d)DataCopy —— 5162 适配与清理 - dav_5162/kernel_operator_data_copy_impl.h(46/54):L1→FB 走 uint64_t 物理地址形态;sizeof(T)==8/4/2/1 改为 B64/B32/B16/B8_BYTE_SIZE 常量;srcStride310/dstStride310 → actSrcStride/actDstStride;删除未使用的 ValidateUbL1Address;新增 FIX_VAL 默认值常量。 - kernel_struct_data_copy.h、kernel_operator_data_copy_intf_impl.h 对 5162 打开 POST_PROC_BUF/SID 与 L12FB 分支。 ## 关联的Issue NA ## 测试 ut测试 ,本地打包测试,5162 Conv算子测试 ## 文档更新 NA ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6635 | 23 days ago |
| Fix concurrent lychee installation in markdown link check Co-authored-by: xun_zhuge<zhugexun@hisilicon.com> Co-authored-by: zhangyujia77<zhangyujia37@huawei.com> # message auto-generated for no-merge-commit merge: !3549 merge fix-markdown-lychee-install-lock into master Fix concurrent lychee installation in markdown link check Created-by: xun_zhuge Commit-by: zhangyujia77;xun_zhuge Merged-by: cann-robot Description: ## 背景 markdown-link-check 在 pre-commit run markdown-link-check --all-files 场景下会被 pre-commit 分批并行调用。当本地或 CI cache 中还没有 lychee-0.23.0 时,多个 hook 进程可能同时进入 lychee 安装流程,竞争写入同一个 lychee-0.23.0 可执行文件,导致偶现: - Text file busy - cannot create regular file 'lychee-0.23.0': File exists ## 修改内容 - 在 scripts/markdown_link_check.sh 的 lychee 安装阶段增加基于 lock dir 的跨进程锁。 - 等待锁期间会重复检查 lychee-$LYCHEE_VERSION 是否已经安装,其他进程安装完成后可直接复用。 - 只锁安装/准备 lychee 的临界区,不影响后续 markdown 文件分批并行扫描。 ## 验证 bash bash -n scripts/markdown_link_check.sh pre-commit run markdown-link-check --all-files 验证结果:markdown-link-check 通过,输出仍为多批扫描,未串行化。 See merge request: cann/asc-devkit!3549 | 4 months ago |
| 修正 clangd 路径,并新增灵活生成本地 .clangd 配置的脚本 Co-authored-by: Water8L<15279328600@163.com> # message auto-generated for no-merge-commit merge: !3449 merge master into master 修正 clangd 路径,并新增灵活生成本地 .clangd 配置的脚本 Created-by: Water8L Commit-by: Water8L Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 clangd 文档修正 /usr/bin/clangd-15 路径,并新增可按 CANN 安装路径和 NPU 架构生成本地 .clangd 配置的脚本与模板 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> https://gitcode.com/cann/asc-devkit/issues/996 https://gitcode.com/cann/asc-devkit/issues/998 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!3449 | 4 months ago |
| 修正 clangd 路径,并新增灵活生成本地 .clangd 配置的脚本 Co-authored-by: Water8L<15279328600@163.com> # message auto-generated for no-merge-commit merge: !3449 merge master into master 修正 clangd 路径,并新增灵活生成本地 .clangd 配置的脚本 Created-by: Water8L Commit-by: Water8L Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 clangd 文档修正 /usr/bin/clangd-15 路径,并新增可按 CANN 安装路径和 NPU 架构生成本地 .clangd 配置的脚本与模板 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> https://gitcode.com/cann/asc-devkit/issues/996 https://gitcode.com/cann/asc-devkit/issues/998 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!3449 | 4 months ago |
| refactor: move docs content into docs/zh/ subdirectory and update all references Co-authored-by: ai_xin<aixin2@hisilicon.com> # message auto-generated for no-merge-commit merge: !4331 merge master into master refactor: move docs content into docs/zh/ subdirectory and update all references Created-by: ai_xin Commit-by: ai_xin Merged-by: cann-robot Description: ## 描述 docs目录下区分中英文目录 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 docs目录下区分zh/en目录,并修改引用到这些文件的路径。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4331 | 3 months ago |
| chore(okf): sync okf-search skill to latest fixes Co-authored-by: flyingXLB<sz2516004@nuaa.edu.cn> # message auto-generated for no-merge-commit merge: !6619 merge okf-knowledge-user into master chore(okf): sync okf-search skill to latest fixes Created-by: flyingXLB Commit-by: flyingXLB Merged-by: cann-robot Description: ## 描述 新增用户侧asc-search skill,将 API文档、头文件声明和现有asc 样例关联为可检索索引,支持按用途、数据类型、参数、CANN 版本及架构查找候选接口。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6619 | 24 days ago |
| fix example Co-authored-by: watermelon_milk<kangshuai12@hisilicon.com> # message auto-generated for no-merge-commit merge: !5449 merge tensor_snake into master fix example Created-by: watermelon_milk Commit-by: watermelon_milk Merged-by: cann-robot Description: ## 描述 修复example样例问题 ## 关联的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!5449 | 2 months ago |
| docs: 按产品名称映射表统一产品名称(其余API及其他内容) Co-authored-by: munanhw<munan@huawei.com> # message auto-generated for no-merge-commit merge: !6574 merge docs/product-name-api-misc into master docs: 按产品名称映射表统一产品名称(其余API及其他内容) Created-by: munanhw Commit-by: munanhw Merged-by: cann-robot Description: ## 描述 从 #6524 拆分:docs/zh/api 其余部分(SIMD-API 除 c_api 外、AI-CPU-API、SIMT-API、Utils-API、appendix)、tests、contributing、.agent、README、CHANGELOG、docs/en 指南等(148 个文件);含 ListTensorDesc 表格由 HTML 整改为 Markdown 简易表格 整改规则(依据产品名称映射表): - Ascend 950PR/Ascend 950DT 系列(含衍生/简写/带空格斜杠变体)统一为 Ascend 950PR&950DT系列产品(英文:Ascend 950PR&950DT products) - Atlas A2/A3 训练系列产品与推理系列产品合并为 Atlas A2系列产品 / Atlas A3系列产品(英文:Atlas A2/A3 products) - Atlas 200I/500 A2 推理产品、Atlas 推理/训练系列产品(含 AI Core / Vector Core 场景)去空格 - 同名并列对按合并语义收敛为单一规范名(如 Atlas A3 products/Atlas A3 products -> Atlas A3 products) ## 关联的Issue 无 ## 测试 - 全量改动已在 #6524 上通过完整 CI(compile 流水线 ci-pipeline-passed),本 PR 为其按目录拆分的等价子集 - 旧名称形式残留为 0、叠字残留为 0;图片路径与文件链接未做任何改动 ## 文档更新 本 PR 为文档产品名称整改 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6574 | 30 days ago |
| docs: 按产品名称映射表统一产品名称(其余API及其他内容) Co-authored-by: munanhw<munan@huawei.com> # message auto-generated for no-merge-commit merge: !6574 merge docs/product-name-api-misc into master docs: 按产品名称映射表统一产品名称(其余API及其他内容) Created-by: munanhw Commit-by: munanhw Merged-by: cann-robot Description: ## 描述 从 #6524 拆分:docs/zh/api 其余部分(SIMD-API 除 c_api 外、AI-CPU-API、SIMT-API、Utils-API、appendix)、tests、contributing、.agent、README、CHANGELOG、docs/en 指南等(148 个文件);含 ListTensorDesc 表格由 HTML 整改为 Markdown 简易表格 整改规则(依据产品名称映射表): - Ascend 950PR/Ascend 950DT 系列(含衍生/简写/带空格斜杠变体)统一为 Ascend 950PR&950DT系列产品(英文:Ascend 950PR&950DT products) - Atlas A2/A3 训练系列产品与推理系列产品合并为 Atlas A2系列产品 / Atlas A3系列产品(英文:Atlas A2/A3 products) - Atlas 200I/500 A2 推理产品、Atlas 推理/训练系列产品(含 AI Core / Vector Core 场景)去空格 - 同名并列对按合并语义收敛为单一规范名(如 Atlas A3 products/Atlas A3 products -> Atlas A3 products) ## 关联的Issue 无 ## 测试 - 全量改动已在 #6524 上通过完整 CI(compile 流水线 ci-pipeline-passed),本 PR 为其按目录拆分的等价子集 - 旧名称形式残留为 0、叠字残留为 0;图片路径与文件链接未做任何改动 ## 文档更新 本 PR 为文档产品名称整改 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6574 | 30 days ago |
| feat: 9201架构新增类型转换C API接口(half2int8/half2int4x2/bfloat162exmy及asc_cast/asc_cast_merge) Co-authored-by: zhangfeifan0709<zhangfeifan7@huawei.com> # message auto-generated for no-merge-commit merge: !6189 merge feat/9201-reg-convert into master feat: 9201架构新增类型转换C API接口(half2int8/half2int4x2/bfloat162exmy及asc_cast/asc_cast_merge) Created-by: zhangfeifan0709 Commit-by: zhangfeifan0709 Merged-by: cann-robot Description: ## 描述 ### 变更概述 本PR为 **9201 架构(a6)** 新增 reg_compute 类型转换 C API 接口及配套指令级 UT,共引入 **190 个转换接口重载(172 void + 18 return)与 1 个类型别名 vector_fp8_e6m2_t**,提供「专用命名」与「泛型命名(asc_cast/asc_cast_merge)」两套语义等价的接口;全部新增声明统一纳入 ASC_DEVKIT_VERSION_NUM >= 90200000 版本宏门控,并已 rebase 至最新 master 解决合并冲突。 ### 新增接口明细 #### 1. 专用命名接口(104 个重载,类型与舍入/饱和模式编入函数名) **half → int8 合并写入(20 重载)** - asc_half2int8_{rd,rn,rna,ru,rz}{,_sat}_merge(MODE_MERGING,mask=false 处保留 dst 原值) - 舍入 {RD,RN,RNA,RU,RZ} × 饱和 {无后缀, _sat} × 位置 {EVEN,ODD},底层指令 vcvt **half → int4x2 合并写入(40 重载)** - asc_half2int4x2_{rd,rn,rna,ru,rz}{,_sat}_merge - 舍入 ×5 × 饱和 ×2 × 位置 {DISPERSE_FIRST/SECOND/THIRD/FOURTH_QUARTER},底层指令 vcvt_f162s4(PART_P0~P3) **bfloat16 → FP8 系列(44 重载)** | 转换方向 | 接口名 | 形态 | 重载数 | 底层指令 | |---|---|---|---|---| | bf16→e4m3 | asc_bfloat162e4m3_rn{,_sat} | void+return × EVEN/ODD | 8 | vcvt | | bf16→e4m3 | asc_bfloat162e4m3_rn{,_sat}_merge | void × EVEN/ODD | 4 | vcvt | | bf16→e5m2 | asc_bfloat162e5m2_rn{,_sat} | void+return × EVEN/ODD | 8 | vcvt | | bf16→e5m2 | asc_bfloat162e5m2_rn{,_sat}_merge | void × EVEN/ODD | 4 | vcvt | | bf16→e6m2 | asc_bfloat162e6m2_rn | void+return × EVEN/ODD | 4 | vcvt_bf162e6m2(无饱和参数) | | bf16→e8m0 | asc_bfloat162e8m0_{ru,rz}{,_sat} | void+return × EVEN/ODD | 16 | vcvt_bf162e8m0 | 其中 e6m2 为 9201 新增目标类型,配套在 include/c_api/defs/type.h 新增类型别名 vector_fp8_e6m2_t = vector_f8e6m2。 #### 2. 泛型命名接口(86 个重载,舍入/饱和/位置通过模板参数区分) 统一签名形态: cpp __simd_callee__ inline void asc_cast[_merge]( vector_<dst>& dst, vector_<src> src, vector_bool mask, std::integral_constant<asc_cast_round_mode, ...> round_mode, std::integral_constant<asc_cast_saturation_mode, ...> saturation_mode, // e6m2 无此项 std::integral_constant<asc_position(_quarter)_mode, ...> dst_pos); **asc_cast_merge(68 重载,全新接口族,通用层此前无任何 merge 版 cast)** | 转换方向 | 重载数 | 参数空间 | 底层指令 | |---|---|---|---| | half→int4x2 | 40 | 舍入{RD,RN,RNA,RU,RZ} × 饱和{NO_SAT,SAT} × 位置{4×QUARTER} | vcvt_f162s4 | | half→int8 | 20 | 舍入×5 × 饱和×2 × 位置{EVEN,ODD} | vcvt | | bf16→e4m3 | 4 | RN × 饱和×2 × 位置{EVEN,ODD} | vcvt | | bf16→e5m2 | 4 | RN × 饱和×2 × 位置{EVEN,ODD} | vcvt | **asc_cast(18 重载,既有接口族新增 9201 专属类型组合)** | 转换方向 | 重载数 | 参数空间 | 底层指令 | |---|---|---|---| | bf16→e4m3 | 4 | RN × 饱和×2 × EVEN/ODD | vcvt | | bf16→e5m2 | 4 | RN × 饱和×2 × EVEN/ODD | vcvt | | bf16→e6m2 | 2 | RN(无饱和参数)× EVEN/ODD | vcvt_bf162e6m2 | | bf16→e8m0 | 8 | {RU,RZ} × 饱和×2 × EVEN/ODD | vcvt_bf162e8m0 | 两套命名接口已程序化核验:86 个 void 重载严格一一对应,每个配对发出的底层 vcvt* 指令(含全部参数)逐字符一致;cast 族不提供返回值形态,是用户视角的唯一差异。舍入模式 → 指令参数映射:RD→ROUND_F、RN→ROUND_R、RNA→ROUND_A、RU→ROUND_C、RZ→ROUND_Z;饱和 → RS_ENABLE/RS_DISABLE;位置 → PART_EVEN/PART_ODD、PART_P0~P3。 ### 版本宏门控与冲突解决 - include/c_api/reg_compute/reg_convert.h 中 190 个新增声明整体置于 #if (ASC_DEVKIT_VERSION_NUM >= 90200000) 门控块,vector_fp8_e6m2_t 别名同步纳入门控(include/c_api/defs/type.h),避免影响 9.2.0 之前版本的编译兼容性 - 分支已 rebase 至最新 master 并解决 reg_convert.h 的合并冲突(声明区块重排,接口集合不变) ### 配套改动 | 文件 | 变动 | |---|---| | impl/c_api/reg_base_impl/npu_arch_9201/reg_convert_intf_impl.h | 新建(1901 行),190 个重载的完整实现,仅 9201 架构 | | impl/c_api/reg_base_impl/reg_convert_intf_impl.h | 新增 __NPU_ARCH__ == 9201 impl 分发包含;5 处过时注释清理 | | include/c_api/asc_simd.h、include/c_api/asc_reg_vector.h | 入口条件编译 3510 扩展为 3510 \|\| 9201,修复 9201 下 reg_compute 接口链不可达 | | tests/api/c_api/stub/cce_stub.h | 补齐 Fp8e6m2T/vector_f8e6m2 类型与 vcvt(f8e4m3/e5m2←bf16)、vcvt_bf162e6m2、vcvt_bf162e8m0 stub(仅 UT 环境) | ### 设计决策 1. **merging 接口仅提供 void 形态**:单返回值重载中 dst 为函数内新定义的 vector,merging 模式下目标位置外的值无意义,无业务场景 2. **merging 后缀命名 _merge**:语义明确,区别于 MODE_ZEROING 常规写入(mask=false 处写 0) 3. **双套命名并存**:专用命名直观易查,泛型命名适配模板/泛型调用场景,二者指令级等价 ## 关联的Issue 无 ## 测试 新增 tests/api/c_api/npu_arch_9201/utils/test_vcvt_instr_utils.h(指令级 UT 框架宏)与 8 个测试文件,mockcpp 指令级 mock,**190 个用例与 190 个新重载 1:1 对应**: | 测试文件 | 用例 | 覆盖 | |---|---|---| | test_asc_half2int4x2.cpp | 40 | 10 API × 4 quarter 位置 | | test_asc_half2int8.cpp | 20 | 10 API × EVEN/ODD | | test_asc_bfloat162e4m3.cpp | 12 | rn/rn_sat(void+return)+ merge | | test_asc_bfloat162e5m2.cpp | 12 | 同上 | | test_asc_bfloat162e6m2.cpp | 4 | rn × EVEN/ODD(void+return) | | test_asc_bfloat162e8m0.cpp | 16 | ru/rz × sat × EVEN/ODD | | test_asc_cast.cpp | 18 | 泛型 asc_cast 全部重载 | | test_asc_cast_merge.cpp | 68 | 泛型 asc_cast_merge 全部重载 | 测试结果: - [x] 9201(ascend960dt_AIV)UT 190/190 通过 - [x] 3510(ascend950pr_9599_AIV)回归通过(版本宏门控下该架构无行为变化) - [x] 2201(ascend910B1_AIV)回归通过 - [x] 全部改动文件 clang-format 合规(线上 pre-commit 格式检查已对齐) ## 文档更新 无独立文档更新,接口以头文件声明为准。 ## 类型标签 - [x] ✨ feat: 新功能 - [x] 🧪 test: 新增或修改测试 See merge request: cann/asc-devkit!6189 | 26 days ago |
| docs: 移除需要包含的头文件章节相关规范描述&优化贡献指南目录结构 Co-authored-by: munanhw<munan@huawei.com> # message auto-generated for no-merge-commit merge: !6120 merge master into master docs: 移除需要包含的头文件章节相关规范描述&优化贡献指南目录结构 Created-by: munanhw Commit-by: munanhw Merged-by: cann-robot Description: ## 描述 docs: 移除需要包含的头文件章节相关规范描述&优化贡献指南目录结构 ## 关联的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!6120 | 1 month ago |
| docs: 移除需要包含的头文件章节相关规范描述&优化贡献指南目录结构 Co-authored-by: munanhw<munan@huawei.com> # message auto-generated for no-merge-commit merge: !6120 merge master into master docs: 移除需要包含的头文件章节相关规范描述&优化贡献指南目录结构 Created-by: munanhw Commit-by: munanhw Merged-by: cann-robot Description: ## 描述 docs: 移除需要包含的头文件章节相关规范描述&优化贡献指南目录结构 ## 关联的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!6120 | 1 month ago |
| 扩展pre-commit hooks (第三批目录) Co-authored-by: Water8L<15279328600@163.com> # message auto-generated for no-merge-commit merge: !4195 merge master into master 扩展pre-commit hooks (第三批目录) Created-by: Water8L Commit-by: Water8L Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 在.pre-commit-config.yaml中根据trailing-whitespace和end-of-file-fixer hook,修改剩下全部目录中对应不合规范的文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4195 | 3 months ago |
| add simt compile presmoke Co-authored-by: louyuxuan<louyuxuan@huawei.com> # message auto-generated for no-merge-commit merge: !5914 merge master into master add simt compile presmoke Created-by: louyuxuan Commit-by: louyuxuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加 SIMT 编译前冒烟看护用例 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [x] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5914 | 1 month ago |
| docs: 按产品名称映射表统一产品名称(其余API及其他内容) Co-authored-by: munanhw<munan@huawei.com> # message auto-generated for no-merge-commit merge: !6574 merge docs/product-name-api-misc into master docs: 按产品名称映射表统一产品名称(其余API及其他内容) Created-by: munanhw Commit-by: munanhw Merged-by: cann-robot Description: ## 描述 从 #6524 拆分:docs/zh/api 其余部分(SIMD-API 除 c_api 外、AI-CPU-API、SIMT-API、Utils-API、appendix)、tests、contributing、.agent、README、CHANGELOG、docs/en 指南等(148 个文件);含 ListTensorDesc 表格由 HTML 整改为 Markdown 简易表格 整改规则(依据产品名称映射表): - Ascend 950PR/Ascend 950DT 系列(含衍生/简写/带空格斜杠变体)统一为 Ascend 950PR&950DT系列产品(英文:Ascend 950PR&950DT products) - Atlas A2/A3 训练系列产品与推理系列产品合并为 Atlas A2系列产品 / Atlas A3系列产品(英文:Atlas A2/A3 products) - Atlas 200I/500 A2 推理产品、Atlas 推理/训练系列产品(含 AI Core / Vector Core 场景)去空格 - 同名并列对按合并语义收敛为单一规范名(如 Atlas A3 products/Atlas A3 products -> Atlas A3 products) ## 关联的Issue 无 ## 测试 - 全量改动已在 #6524 上通过完整 CI(compile 流水线 ci-pipeline-passed),本 PR 为其按目录拆分的等价子集 - 旧名称形式残留为 0、叠字残留为 0;图片路径与文件链接未做任何改动 ## 文档更新 本 PR 为文档产品名称整改 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6574 | 30 days ago |
| docs: 按产品名称映射表统一产品名称(其余API及其他内容) Co-authored-by: munanhw<munan@huawei.com> # message auto-generated for no-merge-commit merge: !6574 merge docs/product-name-api-misc into master docs: 按产品名称映射表统一产品名称(其余API及其他内容) Created-by: munanhw Commit-by: munanhw Merged-by: cann-robot Description: ## 描述 从 #6524 拆分:docs/zh/api 其余部分(SIMD-API 除 c_api 外、AI-CPU-API、SIMT-API、Utils-API、appendix)、tests、contributing、.agent、README、CHANGELOG、docs/en 指南等(148 个文件);含 ListTensorDesc 表格由 HTML 整改为 Markdown 简易表格 整改规则(依据产品名称映射表): - Ascend 950PR/Ascend 950DT 系列(含衍生/简写/带空格斜杠变体)统一为 Ascend 950PR&950DT系列产品(英文:Ascend 950PR&950DT products) - Atlas A2/A3 训练系列产品与推理系列产品合并为 Atlas A2系列产品 / Atlas A3系列产品(英文:Atlas A2/A3 products) - Atlas 200I/500 A2 推理产品、Atlas 推理/训练系列产品(含 AI Core / Vector Core 场景)去空格 - 同名并列对按合并语义收敛为单一规范名(如 Atlas A3 products/Atlas A3 products -> Atlas A3 products) ## 关联的Issue 无 ## 测试 - 全量改动已在 #6524 上通过完整 CI(compile 流水线 ci-pipeline-passed),本 PR 为其按目录拆分的等价子集 - 旧名称形式残留为 0、叠字残留为 0;图片路径与文件链接未做任何改动 ## 文档更新 本 PR 为文档产品名称整改 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6574 | 30 days ago |
| 📝 docs: 修复 Issue 1659 文档错误 Co-authored-by: ApeiriaNode_Booker<renjie88@huawei.com> # message auto-generated for no-merge-commit merge: !5974 merge codex/docs-fix-issue-1659 into master 📝 docs: 修复 Issue 1659 文档错误 Created-by: ApeiriaNode_Booker Commit-by: ApeiriaNode_Booker Merged-by: cann-robot Description: ## 描述 修复 Issue 1659 中两处 CMakeLists.txt 文件名拼写错误,以及 SECURITY.md 和 SECURITY_en.md 权限串错误。 ## 关联的Issue 关联 Issue #1659(https://gitcode.com/cann/asc-devkit/issues/1659) ## 测试 已执行 git diff --check,并确认 CMakeList.txt 和错误权限串均无残留;检查发现两份 API 文档没有英文对应版本。 ## 文档更新 更新文件:SECURITY.md、SECURITY_en.md、docs/zh/api/SIMD-API/basic_api/debug_interface/disable_ascendc_dump.md、docs/zh/api/SIMD-API/basic_api/debug_interface/onboard_print/PrintTimeStamp.md。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5974 | 1 month ago |
| 📝 docs: 修复 Issue 1659 文档错误 Co-authored-by: ApeiriaNode_Booker<renjie88@huawei.com> # message auto-generated for no-merge-commit merge: !5974 merge codex/docs-fix-issue-1659 into master 📝 docs: 修复 Issue 1659 文档错误 Created-by: ApeiriaNode_Booker Commit-by: ApeiriaNode_Booker Merged-by: cann-robot Description: ## 描述 修复 Issue 1659 中两处 CMakeLists.txt 文件名拼写错误,以及 SECURITY.md 和 SECURITY_en.md 权限串错误。 ## 关联的Issue 关联 Issue #1659(https://gitcode.com/cann/asc-devkit/issues/1659) ## 测试 已执行 git diff --check,并确认 CMakeList.txt 和错误权限串均无残留;检查发现两份 API 文档没有英文对应版本。 ## 文档更新 更新文件:SECURITY.md、SECURITY_en.md、docs/zh/api/SIMD-API/basic_api/debug_interface/disable_ascendc_dump.md、docs/zh/api/SIMD-API/basic_api/debug_interface/onboard_print/PrintTimeStamp.md。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5974 | 1 month ago |
| fix oat pre-commit macos compatibility Co-authored-by: xun_zhuge<zhugexun@hisilicon.com> # message auto-generated for no-merge-commit merge: !3193 merge opt_ci_job into master fix oat pre-commit macos compatibility Created-by: xun_zhuge Commit-by: xun_zhuge Merged-by: cann-robot Description: ## 描述 本 PR 完善 asc-devkit 的 pre-commit/OAT 合规检查链路,并修复当前 OAT 扫描暴露的问题。 主要改动: - 完善本地 pre-commit 配置:保留基础检查、clang-format、ruff、codespell 与本地 oat-check hook。 - 删除重复的 typos 拼写检查,避免与 codespell 功能重叠并维护两套专有词白名单。 - 修复 scripts/oat_check.sh 在 macOS/BSD 环境下的兼容性,避免依赖 GNU sed 行为。 - 使用 oat-py 作为 OAT 扫描入口,并在 .devcontainer/requirements.txt 中补充 oat-py>=1.0.0。 - 增强 oat-check 结果判断:同时汇总并拦截 Invalid File Type、License Header Invalid、Copyright Header Invalid。 - 修复 pre-commit 分批执行时 oat_reports/result.txt 统计不完整的问题,按同一次扫描聚合多个 batch 的结果。 - 修正 OAT 策略范围:将不需要 license/copyright header 的文件类型放入 defaultPolicyFilter/copyrightPolicyFilter,并清理当前仓库匹配数量为 0 的过滤项。 - 修复 OAT Invalid File Type 问题:过滤 *.png、.clangd、SWSCRL.crl 等允许的二进制/工具配置文件。 - 修复 OAT License Header Invalid / Copyright Header Invalid 问题:补齐或修正相关测试、样例和脚本文件的 CANN license/copyright header。 - 已撤回误带入的 clang-format 格式化差异,最终 C/C++ 相关文件只保留合规文案修复。 ## 关联的Issue 无。 ## 测试 已完成以下验证: - sh -n scripts/oat_check.sh - python3 -c 'import xml.etree.ElementTree as ET; ET.parse("OAT.xml")' - pre-commit run --files .pre-commit-config.yaml OAT.xml scripts/oat_check.sh - pre-commit run oat-check --all-files - Files Checked: 14140 - Runs Aggregated: 10 - Invalid File Type Total Count: 0 - License Header Invalid Total Count: 0 - Copyright Header Invalid Total Count: 0 - OAT filter 命中审计:defaultPolicyFilter、copyrightPolicyFilter、binaryFileTypePolicyFilter 均为 zero_match=0 - bash scripts/oat_check.sh .clangd:通过,确认 .clangd 不再被误判为非法二进制文件 - bash scripts/oat_check.sh OAT.xml scripts/oat_check.sh .pre-commit-config.yaml:通过,确认增量 OAT 检查正常 - pre-commit run --files .pre-commit-config.yaml OAT.xml scripts/oat_check.sh:通过,确认删除 typos 后变更文件仍通过提交钩子 - git diff --check - 远端 GitCode hook 检查通过 说明:未声明 pre-commit run --all-files 全量通过;当前全仓 codespell 会扫出既有拼写问题,本 PR 只验证变更文件范围的 pre-commit 和全量 OAT。 ## 文档更新 无用户文档更新。 本 PR 仅涉及 pre-commit/OAT 检查配置、devcontainer 依赖和合规修复;未修改面向用户的使用文档。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [x] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [x] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!3193 | 4 months ago |
| 扩展pre-commit hooks (第三批目录) Co-authored-by: Water8L<15279328600@163.com> # message auto-generated for no-merge-commit merge: !4195 merge master into master 扩展pre-commit hooks (第三批目录) Created-by: Water8L Commit-by: Water8L Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 在.pre-commit-config.yaml中根据trailing-whitespace和end-of-file-fixer hook,修改剩下全部目录中对应不合规范的文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4195 | 3 months ago |
| for test_exclude_kirin Co-authored-by: zengjuan<zengjuan2@huawei.com> # message auto-generated for no-merge-commit merge: !6674 merge master into master for test_exclude_kirin Created-by: zengjuan Commit-by: zengjuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的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!6674 | 26 days ago |
| feat: 5162新增Conv/MatMul算子相关基础API支持 Co-authored-by: yanjiang-treasure<yanjiangbao@hisilicon.com> # message auto-generated for no-merge-commit merge: !6635 merge feat_conv_api into master feat: 5162新增Conv/MatMul算子相关基础API支持 Created-by: yanjiang-treasure Commit-by: yanjiang-treasure Merged-by: cann-robot Description: ## 描述 1、根据评审要求,dav_v516修改为dav_5162 目录规整(114 文件,+121/-120) 按评审要求把 dav_v516 目录整体重命名为 dav_5162,并同步三处工程配置: - classify_rule.yaml:新增 impl/**/dav_5162/*.h 归属规则; - impl/basic_api/CMakeLists.txt:170:安装软链路径改名; - 114 个 impl/include 头文件的 include 路径。 纯机械变更,不涉及语义。 2、修复上个提交遗留问题 - dav_5162/kernel_operator_common_impl.h:删除 GetStoreAtomicConfigImpl() 中 ASCENDC_ASSERT(false) 之后残留的不支持指令 get_st_atomic_cfg()(该 arch 无此指令); - 两份 516r2 编译命令生成器(tools/build/.../adapter/、asc_op_compiler/ascendc_compile_v220.py):5162只支持 -mllvm -cce-aicore-function-stack-size=0x4000;修正 "cce-simd-vf-fusion=true" → "--cce-simd-vf-fusion=true",删除无效的vl大小配置选项,修复选项名称before拼写错误befor。 3、feat: 5162新增Conv/MatMul算子相关基础API支持 (a)Conv/Mmad 宏指令 —— 新增能力(1396 行新文件) - 新增 dav_5162/kernel_operator_macro_impl.h(774) 与 kernel_operator_macro_bitmode_impl.h(622):SetConvKernel/SetConvFMatrix(+StepPos/Dual0/Dual1)/SetConvPadding/SetConvStride/SetMatrixPara/SetFixPipeConfig/SetFixPipeReluAlpha/SetFixPipeAddr/SetItaMaxAddr/SetMxBufAddr,以及 Convolution/ConvFix/MmadFix/MmadMxFix 执行体;相较 5161 版本增加字段掩码(& 0x1ff/& 0xff/& 0xfff)与 paddingValue 按 b16/b8/b4 打包。 - 指令名切到 5162 的 set_m_* 系列(如 set_m_fmatrix、set_m_padding、set_m_clip_relu、set_m_quant_pre、set_m_elt_src_para、set_m_fpc)。 - ConvFixCal/MmadFixCal/MmadMxFixCal 由显式模板实参改为参数推导;ConvFix 增加 bias tensor 位置校验(L0C/BIAS)。 - 架构白名单扩展到 5162:kernel_operator_macro_intf.h、kernel_operator_macro_bitmode_intf.h、kernel_operator_macro_base_impl.h、kernel_operator_macro_bitmode_struct.h、kernel_struct_macro.h,并按 arch 分派到 dav_5162/ 实现。 (b)Fixpipe —— 由"L0C 基"重写为"L1 基" - dav_5162/kernel_operator_fixpipe_impl.h:删除 808 行 Arch3510 风格 L0C 实现(FixpipeL0C2L1/2UB/2GM、FixpipeTiling、CopyReluTensorToFbuf、IsVector/ScalarQuantMode 等),新增 FixpipeL1ToL1/ToUb/ToOut + FixpipeL12L1Impl/L12UbImpl/L12GmImpl + CheckFixpipeParams(仅允许 b8/b16,src/dst 同类型),底层用 fix_cbuf_to_cbuf/ubuf/gm,支持 ROW_MAJOR(NZ2ND)/COLUMN_MAJOR(NZ2DN)/NORMAL_DMA 三种搬运模式。 - 公共结构:kernel_struct_fixpipe.h 新增 FixpipeParamsV516(nSize/mSize/srcStride/dstStride + nz2nd 用 ndNum/srcNdStride/dstNdStride),FixpipeConfig 对 5162 开放 isToUB、enableFixVal(含 CFG_NZ_FIX)。 - 配置类 API(5162 专属,kernel_operator_fixpipe_intf.h + fixpipe_intf_impl.h):SetFixPipeClipRelu(FixpipeClipReluParams<T1,T2>)、SetFixPipeConfig(uint64_t)、SetFixpipePreQuantFlag(FixPipePreQuantParams<T>)、SetFixpipePostQuant(FixPipePostQuantParams)、SetFixpipeEltAntiq(FixPipeEltAntiqParams<T>)、SetFixpipeEltwiseAddr(uint64_t / FixpipeEltwiseAddrParams);SetFixpipeNz2ndFlag 对 5162 采用 uint32_t dstNdStride 形态。 - 参数结构体与 eltwise_antiq_t(8 种 int8/int4/uint8/int16 标量/向量反量化 + S32 预量化 + NO_ANTIQ)落在 impl/basic_api/utils/kernel_utils_struct_dma_params.h(+141)。 - Nz2NdParams、CANN_ASC_ENABLE_POST_PROC_BUF/SID 等宏对 5162 打开。 (c)MatMul / LoadData —— 5162 通路补齐 - dav_5162/kernel_operator_mm_impl.h(205/296):新增 LoadData2DGM2L0BCal、LoadData2DL12L1Cal、L1→L0A/L0B 转置载入;删除不适用的 LoadData2DL12L0BTransposeCal 旧重载;Load3DSetFMatrixCal/BCal 由直传寄存器改为位域组装。 - 共享层为 5162 开放:LoadData(GM→L1/L0B + Nd2Nz)、LoadData 2D/3D BitMode(Load2D/Load3DBitModeParam)、MX 载入(LoadData2DMxParams)、LoadDataWithStride、SetFmatrix(SetFMatrixBitModeParams, FmatrixMode)、SetLoadDataRepeatWithStride;LoadData 中 5162 新增 L0B 分支。 - GatherMask(reg_compute)增加 5162 分支并接入 reg_compute/dav_5162 实现。 (d)DataCopy —— 5162 适配与清理 - dav_5162/kernel_operator_data_copy_impl.h(46/54):L1→FB 走 uint64_t 物理地址形态;sizeof(T)==8/4/2/1 改为 B64/B32/B16/B8_BYTE_SIZE 常量;srcStride310/dstStride310 → actSrcStride/actDstStride;删除未使用的 ValidateUbL1Address;新增 FIX_VAL 默认值常量。 - kernel_struct_data_copy.h、kernel_operator_data_copy_intf_impl.h 对 5162 打开 POST_PROC_BUF/SID 与 L12FB 分支。 ## 关联的Issue NA ## 测试 ut测试 ,本地打包测试,5162 Conv算子测试 ## 文档更新 NA ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6635 | 23 days ago |
| docs: 移除需要包含的头文件章节相关规范描述&优化贡献指南目录结构 Co-authored-by: munanhw<munan@huawei.com> # message auto-generated for no-merge-commit merge: !6120 merge master into master docs: 移除需要包含的头文件章节相关规范描述&优化贡献指南目录结构 Created-by: munanhw Commit-by: munanhw Merged-by: cann-robot Description: ## 描述 docs: 移除需要包含的头文件章节相关规范描述&优化贡献指南目录结构 ## 关联的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!6120 | 1 month ago |
| style: ruff 配置行宽 120 并关闭 magic trailing comma Co-authored-by: zhangyujia77<zhangyujia37@huawei.com> # message auto-generated for no-merge-commit merge: !6286 merge style/ruff-line-length-120 into master style: ruff 配置行宽 120 并关闭 magic trailing comma Created-by: zhangyujia77 Commit-by: zhangyujia77 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ruff.toml 新增两项配置并据此重排全仓 Python 代码: line-length = 120 行宽从默认 88 放宽到 120 [format] skip-magic-trailing-comma = true 忽略末尾逗号的强制展开语义 ### 为什么改 line-length ruff 的 line-length 此前**从未在仓库任何地方配置过** —— ruff.toml 只设了target-version,全仓搜 line-length 零命中,pre-commit 的 ruff hook 也没传参。 所以生效值 88 是 ruff 内置默认(沿用 Black 的约定),**不是评估过的技术决策**: $ ruff check --show-settings Settings path: ".../asc-devkit/ruff.toml" linter.line_length = 88 120 有三层依据: 1. **本仓 C++ 侧已定 120** —— .clang-format: ColumnLimit: 120。同一仓库 C++ 120、Python 88 本身不一致。 2. **CANN 生态其余 Python 仓统一为 120** —— pyasc、pypto、pto-isa、ops-test-kit、vllm-ascend(ruff),torch_npu、pytorch(flake8)。asc-devkit 是其中唯一没配的。 3. **本仓 Python 历史上事实遵守 120** —— ruff-format 落地前,非空行 P99.5 = 119,99.82% 的行 ≤ 120;超 120 的 38 行基本是嵌在 Python 里的 C++ 模板与宏定义。 88 列会把多参数调用强制拆成逐参数一行,一条语句常常变 3-5 行: python # 前(1 行) raise RuntimeError("Length of ASCENDC_TPL_UINT_{} {} is too short.".format(self.macro_type, self.name)) # 后(5 行) raise RuntimeError( "Length of ASCENDC_TPL_UINT_{} {} is too short.".format( self.macro_type, self.name ) ) ### 为什么关 magic trailing comma 末尾逗号会让 ruff-format 强制保持展开,即使该行放得下。统计范围内现存 886 处此类逗号,**绝大多数是 88 列时期 ruff 自己折行时补上的,并非作者意图** ——换到 120 列后这些调用本可收拢,却因那个自动留下的逗号继续保持展开。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [x] 🧹 chore: 代码格式修改 See merge request: cann/asc-devkit!6286 | 1 month ago |
| fix: 修复build.sh参数文档、移除未使用依赖、版本号升级至9.2.0 Co-authored-by: DragonBornHD84<huangduo4@hisilicon.com> # message auto-generated for no-merge-commit merge: !4729 merge dev into master fix: 修复build.sh参数文档、移除未使用依赖、版本号升级至9.2.0 Created-by: DragonBornHD84 Commit-by: DragonBornHD84 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动包含三部分: 1. 修复 build.sh 参数文档缺失(#1271):-p/--cann_path 帮助文本仅示例了 root 用户路径,未明示非 root 用户默认为 $HOME/Ascend/cann;-j 未说明并发选择策略。在 --help、--pkg --help、-t --help 三处帮助输出中补充 root/非 root 双默认路径说明,并补充 -j 超过 CPU 核数自动降为核数的策略说明。 2. 移除 2 项未使用的三方依赖(#1280): - .devcontainer/Dockerfile:移除 gperf,全仓无 libseccomp 依赖,gperf 仅在 libseccomp 源码构建时需要,属无用安装项。 - CMakeLists.txt / mc2_server_minimal.cmake:移除 rdma-core 三方依赖声明及 rdma_core_headers 相关代码。全仓源码无 infiniband/verbs.h 等 rdma-core 系统头文件引用,源码仅使用项目内部头文件。 3. 版本号统一升级至 9.2.0:build.sh 的 VERSION_INFO、version.cmake 的 asc-devkit 包版本、hccl/cc/version.cmake 的 hccl 包版本三处统一从 8.5.0/9.1.0/9.0.0 升级为 9.2.0。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> - [#1271](https://gitcode.com/cann/asc-devkit/issues/1271) - [#1280](https://gitcode.com/cann/asc-devkit/issues/1280) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - bash build.sh --help、bash build.sh --pkg --help、bash build.sh -t --help 三处帮助输出均验证 -p 双路径与 -j 策略展示正确,$HOME 字面量未被展开。 - bash build.sh -j 16 全量编译验证通过(EXIT_CODE=0),libmc2_server.so 成功生成,构建达 100% 并完成打包,日志无 rdma 相关错误,确认移除 rdma-core 后构建无回归。 - 版本号改动后重新构建验证通过(EXIT_CODE=0)。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - build.sh:更新 -p/--cann_path、-j 参数帮助说明文本(对应 #1271)。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4729 | 2 months ago |