| Files | Last commit | Last update |
|---|---|---|
fix(aclrtc): 修复编译选项与临时文件清理静态告警 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5846 merge fix/aclrtc-static-warnings-recheck into master fix(aclrtc): 修复编译选项与临时文件清理静态告警 Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 修复 aclrtc 和公共文件工具的三项静态告警,保持原有选项拒绝和临时文件清理行为: - 短、长输出选项统一使用 sizeof("选项文本") - 1U 计算前缀长度,替代 -o 判断中的魔法数字。 - 为不修改会话成员的 RunKernelSpecialization 声明和定义添加 const。 - 在确认临时文件所有权后独立调用 unlink,避免逻辑运算符右侧包含副作用。 ## 关联的Issue 无独立 Issue;处理静态检查告警,不新增功能或改变流程。 ## 测试 - 现有文件工具单测:17/17 通过,覆盖路径校验、临时文件冲突、异常清理及替换失败。 - 现有 aclrtc 单测:192/192 通过。 - 三个修改源文件使用生产编译参数(含 -Werror)执行语法检查:通过。 - git diff --check:通过。 - 提交前检查:私钥检测、OAT、clang-format、拼写及 Markdown 链接检查均通过。 - 未运行原静态扫描器复扫;本次不涉及设备算子,无二级冒烟或算子泛化测试。 ## 文档更新 无公开接口文档变更;路径告警的误报依据记录于本 PR。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5846 | 1 month 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 | |
feat(aclrtc): 支持 ACLNN Kernel 常量化编译 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !5103 merge feature/aclrtc-kernel-specialization into master feat(aclrtc): 支持 ACLNN Kernel 常量化编译 Created-by: XuebinYang Commit-by: XuebinYang;sjtulxh Merged-by: cann-robot Description: ## 变更说明 - 新增 aclrtcKernelSpecialization C API,支持 basic 以及 basic + SK 常量化编译请求。 - 新增 Manifest 选中子树解析、环境变量/占位符展开、常量 patch、串行命令执行、超时和进程组回收。 - 新增 worktree 生命周期、ELF 原子发布和可选 kernel meta 诊断文件。 - 使用 Boost.Filesystem;命令以 argv 直接执行,不经过 Shell,并限制输出改写、response file、控制字符和内嵌 NUL。 - 收敛 libacl_rtc.so 动态符号,仅导出冻结的 10 个 aclrtc* C API。 - 补充模块 README 和 ACLRTC UT;pack 代码及 Manifest ABI 文件保持不变。 ## 验证 - ascendc_ut_aclrtc: 88/88 通过。 - acl_rtc Release 生产目标构建通过(-Werror)。 - 公开头文件以 C11 + -Wall -Wextra -Werror 编译通过。 - nm -D --defined-only: 仅 10 个冻结 aclrtc* API。 - ldd -r libacl_rtc.so: 无未解析符号。 - git diff --check 通过;pack 目录零差异。 See merge request: cann/asc-devkit!5103 | 2 months 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 | |
delete ascendc_parse_dumpinfo.py Co-authored-by: hehongan<hehongan@h-partners.com> # message auto-generated for no-merge-commit merge: !1394 merge master into master delete ascendc_parse_dumpinfo.py Created-by: hehongan Commit-by: hehongan Merged-by: cann-robot Description: ## 描述 delete ascendc_parse_dumpinfo.py ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> [#356](https://gitcode.com/cann/asc-devkit/issues/356) [#381](https://gitcode.com/cann/asc-devkit/issues/381) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!1394 | 7 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 1 month ago | ||
| 23 days ago | ||
| 2 months ago | ||
| 1 month ago | ||
| 7 months ago |