| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[feat] add asc_compile_exporter Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !4980 merge master into master [feat] add asc_compile_exporter Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: ## 描述 新增 asc_compile_exporter 工具,用于收集指定目录下的 Manifest JSON 及相关资源,并将其导出为可动态加载的编译资源共享库。 主要改动: - 新增 asc_compile_exporter 命令行工具及 Manifest Bundle 生成模块。 - 支持指定包 ID、Manifest 搜索目录、输出路径、工作目录、并行任务数及临时目录保留选项。 - 增加路径合法性、符号链接、资源数量和资源大小等安全检查。 - 接入 AscendC 工具日志接口。 - 增加 CMake 构建、安装及 JSON 三方库依赖。 - 更新 asc-devkit 打包清单和版本目录软链接处理。 - 新增模块单元测试和完整导出流程测试,并接入测试集合。 ManifestBundleCompiler | +--> CollectedManifestRepository 发现并加载 Manifest +--> BuildWorkspace 管理临时构建目录 +--> BundleSourceGenerator 生成 ABI、Manifest 源码和 Makefile +--> MakeBundleBuilder 调用编译器构建 SO +--> BundlePublisher 原子发布最终 SO manifest_bundle_compiler.cpp:请求校验、任务数计算和整体流程编排,目标控制在约 100 行。 - manifest_bundle_types.h:保存内部 DTO ResourceFile、ManifestUnit,不安装、不暴露为公共 API。 - CollectedManifestRepository:Manifest 发现、JSON base_dir 读取、资源递归加载、排序和容量限制;ResourceBudget 保留为其 .cpp 内部实现。 - BundleSourceGenerator:生成 ABI 头、Manifest 翻译单元、Bundle 汇总源码和 Makefile。 - BuildWorkspace:负责私有临时目录的创建、移动语义、--keep-temp 和 RAII 清理。 - MakeBundleBuilder:查找 make/编译器、构造环境变量并启动构建;原 ExecutableLocator 收敛为其 .cpp 私有函数,不再保留独立类。 - ProcessRunner:封装 fork/execv、超时、进程组终止和退出状态处理。 - BundlePublisher:输出软链接检查、同文件系统 rename 和跨文件系统安全发布 ## 关联的Issue 无。 ## 测试 - 构建 asc_compile_exporter 生产目标,构建通过。 - 构建并运行 ascendc_ut_asc_compile_exporter。 - 共执行 22 个测试用例,全部通过。 - 验证生成的 Bundle 共享库可以正常加载并读取 Manifest 和资源。 - 执行打包 XML 格式校验,通过。 - 执行安装软链接脚本语法检查,通过。 - 执行 git diff --check,通过。 ## 文档更新 无文档更新。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4980 | 1 个月前 | |
feat(jit): support pointer and struct tiling constants Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5719 merge feat/jit-tiling-arg-type into master feat(jit): support pointer and struct tiling constants Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 JIT 常量化编译此前要求所有 constant_infos 项提供 byte_size,并与 argsBytes 严格相等,无法表达按值传递的结构体 tiling。 新增 constant_infos[].arg_type,支持 pointer 和 struct,缺省为 struct。ACLNN manifest 生成器固定输出 arg_type: pointer 和按 kernel 确定的 byte_size,不提供类型配置。pointer 常量使用 manifest 的 byte_size;struct 常量只使用 argsBytes[parameter_index],禁止在 manifest 中提供 byte_size。pack validator 和运行时均拒绝 struct 携带 byte_size。 公用 ManifestConstant 类统一 exporter 与 runtime 的 constant 字段契约。ParseDefinition 解析并校验定义,BindArgument 绑定参数地址与大小,屏蔽 pointer/struct 差异;私有成员维护解析及绑定状态,失败保留原状态,重新解析成功后清除旧绑定。错误直接记录 plog。删除 ConstantSizeRule 和自由解析入口,模块兼容 C++11,不依赖 ACLRTC。 ACLRTC 计划构建按解析和绑定两个职责封装。CompilationManifestParser 选择本次 kernel 的 basic/SK 配置,复用公用常量解析,输出持有数据的 CompilationManifest;只保留 CompilationManifest、ManifestCommand 两个解析层接口结构体。KernelCompilationPlanBuilder 直接接收解析结果,绑定常量、路径、环境和命令选项,在全部检查成功后才读取常量字节,失败不修改调用者输出。删除旧 kernel_manifest_parser、ManifestText、重复的绑定中间结构和独立组装步骤,Builder 不再接触 JSON 或判断 pointer/struct。 能力不区分 ACLNN 或尖括号来源,不添加 ACLNN 标记;两种入口均可按参数语义使用 pointer/struct。 删除未产生行为差异的 Parsed/Bound 状态,仅保留 definitionParsed_。路径与环境展开明确命名为 ExpandPathAndEnvironmentReferences,有上限的整数读取命名为 ReadBoundedNonnegativeInteger,解析和执行命令的参数字段统一为 arguments。 Builder 先绑定编译和链接命令,最后由 BuildConstantSourcePatches 完成全部常量绑定、目标展开和 patch 生成,任一步校验失败都不读取常量内存。请求侧删除 KernelCompilationVariant,使用 enableSuperKernel 表达 SK 开关;ManifestObjectKind 仅描述单个 basic/sk 对象。调整现有保护内存 UT,使其覆盖绑定阶段的命令与链接失败。 命令先按顺序展开全部 options 引用,再将首项作为 executable,其余作为 arguments。支持首项引用同时包含可执行文件及多个选项,拒绝展开后的空命令;不递归展开 options 引用。 ParseSelectedObjects 按请求选择编译对象。启用 SK 但所选 kernel 只有 basic 时记录 INFO 日志并回退普通编译,不加入 SK 专用选项;basic 缺失或已存在的 sk 配置错误仍返回失败。复用现有 UT 比较回退与 basic 模式的编译、链接命令,不增加用例数量。 保留受保护内存、非零参数索引的 pointer/struct 混合用例及解析数据所有权检查。UT 按职责收敛:字段与参数绑定校验集中在 ManifestConstant,删除 Parser/Builder/exporter 的重复校验矩阵,公共测试仅在 exporter 目标运行一次。补充状态重置、失败保留原状态和重复解析/构建的必要回归。 两个 Python producer 镜像同步修改。旧 pointer manifest 必须补充 arg_type: pointer 或重新生成。 ## 关联的Issue 暂无关联 Issue。 ## 测试 - 基于 CANN master 8668f3ffc 同步,无冲突。 - Manifest 生成器单元测试:14/14 通过。 - Exporter C++ 单元测试:80/80 通过。 - ACLRTC C++ 单元测试:192/192 通过。 - 公用 constant 测试仅在 exporter 中运行;本轮封装重构后 C++ 测试总执行数由 276 项减少至 272 项,保留整数边界、字段契约及失败输出不变等覆盖。 - ACLRTC 非 UT Release 动态库和 C++11 exporter 生产构建通过。 - 覆盖显式及缺省 struct、禁止 struct byte_size、pointer 必填 byte_size、两种大小来源、零长度和非法参数。 - 未执行 NPU 二级冒烟及算子泛化。 ## 文档更新 本 PR 不提交文档文件。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5719 | 12 天前 | |
fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5769 merge fix/aclrtc-static-warnings into master fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 修复 ACLRTC 和公共进程执行器的 14 处静态告警,并集中路径校验与文件生命周期管理。FileUtils 提供规范化、普通文件校验及打开的公共入口;诊断模块只负责生成文本。StagedFileReplacement 共用于源码补丁和 ELF 发布,负责独占创建、完整写入、关闭检查、失败清理和原子替换。 ELF 主流程仅保留“暂存产物 → 清理工作目录 → 原子替换目标”,公共文件模块不依赖编译会话。暂存时确定的规范化目标一直用于最终发布;异常退出自动清理尚未发布的临时文件。保留补丁 0600、ELF 0644(受 umask 限制)、只读路径允许叶子链接、写入路径拒绝叶子链接、诊断失败非致命等语义。 同时为 4 个成员函数补充 const,明确两处位运算的无符号类型,删除无用头文件,以可写 argv 副本去除 const_cast;公共实现兼容 C++11。 其余 5 处建议豁免:4 处 W* 系统宏内部的位运算,以及已通过 ResolveCanonicalPath 调用 fs::canonical 的 ReadRegularFile。未运行原扫描器,14 为代码修复覆盖数量。 ## 关联的Issue 用户提供静态告警清单,尚无关联 Issue。 ## 测试 - ACLRTC 192、编译工具 92,共 284 个测试通过。覆盖暂存后延迟发布、异常退出清理、规范化目标一致性、文件权限、临时文件碰撞、rename 失败、流打开/追加写入,以及既有超时/写入失败/工作目录清理失败路径。 - FileUtils、ProcessExecutor、StagedFileReplacement 通过 C++11 和生产日志宏下的 -Wall -Wextra -Werror 编译检查。 - 新分支源码使用独立 CMake 验证工程及仓库测试配置编译;未运行 NPU 算子测试(本次仅修改 host 工具)。 - 格式、差异空白检查、密钥检测和本次全部改动文件 OAT 通过。 - 最终提交时完整 pre-commit 通过,Markdown 链接检查覆盖 2631 个文件。 ## 文档更新 不涉及公开 API 文档变更;逐条告警报告已在本地交付。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5769 | 11 天前 | |
fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5769 merge fix/aclrtc-static-warnings into master fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 修复 ACLRTC 和公共进程执行器的 14 处静态告警,并集中路径校验与文件生命周期管理。FileUtils 提供规范化、普通文件校验及打开的公共入口;诊断模块只负责生成文本。StagedFileReplacement 共用于源码补丁和 ELF 发布,负责独占创建、完整写入、关闭检查、失败清理和原子替换。 ELF 主流程仅保留“暂存产物 → 清理工作目录 → 原子替换目标”,公共文件模块不依赖编译会话。暂存时确定的规范化目标一直用于最终发布;异常退出自动清理尚未发布的临时文件。保留补丁 0600、ELF 0644(受 umask 限制)、只读路径允许叶子链接、写入路径拒绝叶子链接、诊断失败非致命等语义。 同时为 4 个成员函数补充 const,明确两处位运算的无符号类型,删除无用头文件,以可写 argv 副本去除 const_cast;公共实现兼容 C++11。 其余 5 处建议豁免:4 处 W* 系统宏内部的位运算,以及已通过 ResolveCanonicalPath 调用 fs::canonical 的 ReadRegularFile。未运行原扫描器,14 为代码修复覆盖数量。 ## 关联的Issue 用户提供静态告警清单,尚无关联 Issue。 ## 测试 - ACLRTC 192、编译工具 92,共 284 个测试通过。覆盖暂存后延迟发布、异常退出清理、规范化目标一致性、文件权限、临时文件碰撞、rename 失败、流打开/追加写入,以及既有超时/写入失败/工作目录清理失败路径。 - FileUtils、ProcessExecutor、StagedFileReplacement 通过 C++11 和生产日志宏下的 -Wall -Wextra -Werror 编译检查。 - 新分支源码使用独立 CMake 验证工程及仓库测试配置编译;未运行 NPU 算子测试(本次仅修改 host 工具)。 - 格式、差异空白检查、密钥检测和本次全部改动文件 OAT 通过。 - 最终提交时完整 pre-commit 通过,Markdown 链接检查覆盖 2631 个文件。 ## 文档更新 不涉及公开 API 文档变更;逐条告警报告已在本地交付。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5769 | 11 天前 | |
feat(jit): support pointer and struct tiling constants Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5719 merge feat/jit-tiling-arg-type into master feat(jit): support pointer and struct tiling constants Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 JIT 常量化编译此前要求所有 constant_infos 项提供 byte_size,并与 argsBytes 严格相等,无法表达按值传递的结构体 tiling。 新增 constant_infos[].arg_type,支持 pointer 和 struct,缺省为 struct。ACLNN manifest 生成器固定输出 arg_type: pointer 和按 kernel 确定的 byte_size,不提供类型配置。pointer 常量使用 manifest 的 byte_size;struct 常量只使用 argsBytes[parameter_index],禁止在 manifest 中提供 byte_size。pack validator 和运行时均拒绝 struct 携带 byte_size。 公用 ManifestConstant 类统一 exporter 与 runtime 的 constant 字段契约。ParseDefinition 解析并校验定义,BindArgument 绑定参数地址与大小,屏蔽 pointer/struct 差异;私有成员维护解析及绑定状态,失败保留原状态,重新解析成功后清除旧绑定。错误直接记录 plog。删除 ConstantSizeRule 和自由解析入口,模块兼容 C++11,不依赖 ACLRTC。 ACLRTC 计划构建按解析和绑定两个职责封装。CompilationManifestParser 选择本次 kernel 的 basic/SK 配置,复用公用常量解析,输出持有数据的 CompilationManifest;只保留 CompilationManifest、ManifestCommand 两个解析层接口结构体。KernelCompilationPlanBuilder 直接接收解析结果,绑定常量、路径、环境和命令选项,在全部检查成功后才读取常量字节,失败不修改调用者输出。删除旧 kernel_manifest_parser、ManifestText、重复的绑定中间结构和独立组装步骤,Builder 不再接触 JSON 或判断 pointer/struct。 能力不区分 ACLNN 或尖括号来源,不添加 ACLNN 标记;两种入口均可按参数语义使用 pointer/struct。 删除未产生行为差异的 Parsed/Bound 状态,仅保留 definitionParsed_。路径与环境展开明确命名为 ExpandPathAndEnvironmentReferences,有上限的整数读取命名为 ReadBoundedNonnegativeInteger,解析和执行命令的参数字段统一为 arguments。 Builder 先绑定编译和链接命令,最后由 BuildConstantSourcePatches 完成全部常量绑定、目标展开和 patch 生成,任一步校验失败都不读取常量内存。请求侧删除 KernelCompilationVariant,使用 enableSuperKernel 表达 SK 开关;ManifestObjectKind 仅描述单个 basic/sk 对象。调整现有保护内存 UT,使其覆盖绑定阶段的命令与链接失败。 命令先按顺序展开全部 options 引用,再将首项作为 executable,其余作为 arguments。支持首项引用同时包含可执行文件及多个选项,拒绝展开后的空命令;不递归展开 options 引用。 ParseSelectedObjects 按请求选择编译对象。启用 SK 但所选 kernel 只有 basic 时记录 INFO 日志并回退普通编译,不加入 SK 专用选项;basic 缺失或已存在的 sk 配置错误仍返回失败。复用现有 UT 比较回退与 basic 模式的编译、链接命令,不增加用例数量。 保留受保护内存、非零参数索引的 pointer/struct 混合用例及解析数据所有权检查。UT 按职责收敛:字段与参数绑定校验集中在 ManifestConstant,删除 Parser/Builder/exporter 的重复校验矩阵,公共测试仅在 exporter 目标运行一次。补充状态重置、失败保留原状态和重复解析/构建的必要回归。 两个 Python producer 镜像同步修改。旧 pointer manifest 必须补充 arg_type: pointer 或重新生成。 ## 关联的Issue 暂无关联 Issue。 ## 测试 - 基于 CANN master 8668f3ffc 同步,无冲突。 - Manifest 生成器单元测试:14/14 通过。 - Exporter C++ 单元测试:80/80 通过。 - ACLRTC C++ 单元测试:192/192 通过。 - 公用 constant 测试仅在 exporter 中运行;本轮封装重构后 C++ 测试总执行数由 276 项减少至 272 项,保留整数边界、字段契约及失败输出不变等覆盖。 - ACLRTC 非 UT Release 动态库和 C++11 exporter 生产构建通过。 - 覆盖显式及缺省 struct、禁止 struct byte_size、pointer 必填 byte_size、两种大小来源、零长度和非法参数。 - 未执行 NPU 二级冒烟及算子泛化。 ## 文档更新 本 PR 不提交文档文件。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5719 | 12 天前 | |
fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5769 merge fix/aclrtc-static-warnings into master fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 修复 ACLRTC 和公共进程执行器的 14 处静态告警,并集中路径校验与文件生命周期管理。FileUtils 提供规范化、普通文件校验及打开的公共入口;诊断模块只负责生成文本。StagedFileReplacement 共用于源码补丁和 ELF 发布,负责独占创建、完整写入、关闭检查、失败清理和原子替换。 ELF 主流程仅保留“暂存产物 → 清理工作目录 → 原子替换目标”,公共文件模块不依赖编译会话。暂存时确定的规范化目标一直用于最终发布;异常退出自动清理尚未发布的临时文件。保留补丁 0600、ELF 0644(受 umask 限制)、只读路径允许叶子链接、写入路径拒绝叶子链接、诊断失败非致命等语义。 同时为 4 个成员函数补充 const,明确两处位运算的无符号类型,删除无用头文件,以可写 argv 副本去除 const_cast;公共实现兼容 C++11。 其余 5 处建议豁免:4 处 W* 系统宏内部的位运算,以及已通过 ResolveCanonicalPath 调用 fs::canonical 的 ReadRegularFile。未运行原扫描器,14 为代码修复覆盖数量。 ## 关联的Issue 用户提供静态告警清单,尚无关联 Issue。 ## 测试 - ACLRTC 192、编译工具 92,共 284 个测试通过。覆盖暂存后延迟发布、异常退出清理、规范化目标一致性、文件权限、临时文件碰撞、rename 失败、流打开/追加写入,以及既有超时/写入失败/工作目录清理失败路径。 - FileUtils、ProcessExecutor、StagedFileReplacement 通过 C++11 和生产日志宏下的 -Wall -Wextra -Werror 编译检查。 - 新分支源码使用独立 CMake 验证工程及仓库测试配置编译;未运行 NPU 算子测试(本次仅修改 host 工具)。 - 格式、差异空白检查、密钥检测和本次全部改动文件 OAT 通过。 - 最终提交时完整 pre-commit 通过,Markdown 链接检查覆盖 2631 个文件。 ## 文档更新 不涉及公开 API 文档变更;逐条告警报告已在本地交付。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5769 | 11 天前 | |
fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5769 merge fix/aclrtc-static-warnings into master fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 修复 ACLRTC 和公共进程执行器的 14 处静态告警,并集中路径校验与文件生命周期管理。FileUtils 提供规范化、普通文件校验及打开的公共入口;诊断模块只负责生成文本。StagedFileReplacement 共用于源码补丁和 ELF 发布,负责独占创建、完整写入、关闭检查、失败清理和原子替换。 ELF 主流程仅保留“暂存产物 → 清理工作目录 → 原子替换目标”,公共文件模块不依赖编译会话。暂存时确定的规范化目标一直用于最终发布;异常退出自动清理尚未发布的临时文件。保留补丁 0600、ELF 0644(受 umask 限制)、只读路径允许叶子链接、写入路径拒绝叶子链接、诊断失败非致命等语义。 同时为 4 个成员函数补充 const,明确两处位运算的无符号类型,删除无用头文件,以可写 argv 副本去除 const_cast;公共实现兼容 C++11。 其余 5 处建议豁免:4 处 W* 系统宏内部的位运算,以及已通过 ResolveCanonicalPath 调用 fs::canonical 的 ReadRegularFile。未运行原扫描器,14 为代码修复覆盖数量。 ## 关联的Issue 用户提供静态告警清单,尚无关联 Issue。 ## 测试 - ACLRTC 192、编译工具 92,共 284 个测试通过。覆盖暂存后延迟发布、异常退出清理、规范化目标一致性、文件权限、临时文件碰撞、rename 失败、流打开/追加写入,以及既有超时/写入失败/工作目录清理失败路径。 - FileUtils、ProcessExecutor、StagedFileReplacement 通过 C++11 和生产日志宏下的 -Wall -Wextra -Werror 编译检查。 - 新分支源码使用独立 CMake 验证工程及仓库测试配置编译;未运行 NPU 算子测试(本次仅修改 host 工具)。 - 格式、差异空白检查、密钥检测和本次全部改动文件 OAT 通过。 - 最终提交时完整 pre-commit 通过,Markdown 链接检查覆盖 2631 个文件。 ## 文档更新 不涉及公开 API 文档变更;逐条告警报告已在本地交付。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5769 | 11 天前 | |
fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5769 merge fix/aclrtc-static-warnings into master fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 修复 ACLRTC 和公共进程执行器的 14 处静态告警,并集中路径校验与文件生命周期管理。FileUtils 提供规范化、普通文件校验及打开的公共入口;诊断模块只负责生成文本。StagedFileReplacement 共用于源码补丁和 ELF 发布,负责独占创建、完整写入、关闭检查、失败清理和原子替换。 ELF 主流程仅保留“暂存产物 → 清理工作目录 → 原子替换目标”,公共文件模块不依赖编译会话。暂存时确定的规范化目标一直用于最终发布;异常退出自动清理尚未发布的临时文件。保留补丁 0600、ELF 0644(受 umask 限制)、只读路径允许叶子链接、写入路径拒绝叶子链接、诊断失败非致命等语义。 同时为 4 个成员函数补充 const,明确两处位运算的无符号类型,删除无用头文件,以可写 argv 副本去除 const_cast;公共实现兼容 C++11。 其余 5 处建议豁免:4 处 W* 系统宏内部的位运算,以及已通过 ResolveCanonicalPath 调用 fs::canonical 的 ReadRegularFile。未运行原扫描器,14 为代码修复覆盖数量。 ## 关联的Issue 用户提供静态告警清单,尚无关联 Issue。 ## 测试 - ACLRTC 192、编译工具 92,共 284 个测试通过。覆盖暂存后延迟发布、异常退出清理、规范化目标一致性、文件权限、临时文件碰撞、rename 失败、流打开/追加写入,以及既有超时/写入失败/工作目录清理失败路径。 - FileUtils、ProcessExecutor、StagedFileReplacement 通过 C++11 和生产日志宏下的 -Wall -Wextra -Werror 编译检查。 - 新分支源码使用独立 CMake 验证工程及仓库测试配置编译;未运行 NPU 算子测试(本次仅修改 host 工具)。 - 格式、差异空白检查、密钥检测和本次全部改动文件 OAT 通过。 - 最终提交时完整 pre-commit 通过,Markdown 链接检查覆盖 2631 个文件。 ## 文档更新 不涉及公开 API 文档变更;逐条告警报告已在本地交付。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5769 | 11 天前 | |
fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5769 merge fix/aclrtc-static-warnings into master fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 修复 ACLRTC 和公共进程执行器的 14 处静态告警,并集中路径校验与文件生命周期管理。FileUtils 提供规范化、普通文件校验及打开的公共入口;诊断模块只负责生成文本。StagedFileReplacement 共用于源码补丁和 ELF 发布,负责独占创建、完整写入、关闭检查、失败清理和原子替换。 ELF 主流程仅保留“暂存产物 → 清理工作目录 → 原子替换目标”,公共文件模块不依赖编译会话。暂存时确定的规范化目标一直用于最终发布;异常退出自动清理尚未发布的临时文件。保留补丁 0600、ELF 0644(受 umask 限制)、只读路径允许叶子链接、写入路径拒绝叶子链接、诊断失败非致命等语义。 同时为 4 个成员函数补充 const,明确两处位运算的无符号类型,删除无用头文件,以可写 argv 副本去除 const_cast;公共实现兼容 C++11。 其余 5 处建议豁免:4 处 W* 系统宏内部的位运算,以及已通过 ResolveCanonicalPath 调用 fs::canonical 的 ReadRegularFile。未运行原扫描器,14 为代码修复覆盖数量。 ## 关联的Issue 用户提供静态告警清单,尚无关联 Issue。 ## 测试 - ACLRTC 192、编译工具 92,共 284 个测试通过。覆盖暂存后延迟发布、异常退出清理、规范化目标一致性、文件权限、临时文件碰撞、rename 失败、流打开/追加写入,以及既有超时/写入失败/工作目录清理失败路径。 - FileUtils、ProcessExecutor、StagedFileReplacement 通过 C++11 和生产日志宏下的 -Wall -Wextra -Werror 编译检查。 - 新分支源码使用独立 CMake 验证工程及仓库测试配置编译;未运行 NPU 算子测试(本次仅修改 host 工具)。 - 格式、差异空白检查、密钥检测和本次全部改动文件 OAT 通过。 - 最终提交时完整 pre-commit 通过,Markdown 链接检查覆盖 2631 个文件。 ## 文档更新 不涉及公开 API 文档变更;逐条告警报告已在本地交付。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5769 | 11 天前 | |
fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5769 merge fix/aclrtc-static-warnings into master fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 修复 ACLRTC 和公共进程执行器的 14 处静态告警,并集中路径校验与文件生命周期管理。FileUtils 提供规范化、普通文件校验及打开的公共入口;诊断模块只负责生成文本。StagedFileReplacement 共用于源码补丁和 ELF 发布,负责独占创建、完整写入、关闭检查、失败清理和原子替换。 ELF 主流程仅保留“暂存产物 → 清理工作目录 → 原子替换目标”,公共文件模块不依赖编译会话。暂存时确定的规范化目标一直用于最终发布;异常退出自动清理尚未发布的临时文件。保留补丁 0600、ELF 0644(受 umask 限制)、只读路径允许叶子链接、写入路径拒绝叶子链接、诊断失败非致命等语义。 同时为 4 个成员函数补充 const,明确两处位运算的无符号类型,删除无用头文件,以可写 argv 副本去除 const_cast;公共实现兼容 C++11。 其余 5 处建议豁免:4 处 W* 系统宏内部的位运算,以及已通过 ResolveCanonicalPath 调用 fs::canonical 的 ReadRegularFile。未运行原扫描器,14 为代码修复覆盖数量。 ## 关联的Issue 用户提供静态告警清单,尚无关联 Issue。 ## 测试 - ACLRTC 192、编译工具 92,共 284 个测试通过。覆盖暂存后延迟发布、异常退出清理、规范化目标一致性、文件权限、临时文件碰撞、rename 失败、流打开/追加写入,以及既有超时/写入失败/工作目录清理失败路径。 - FileUtils、ProcessExecutor、StagedFileReplacement 通过 C++11 和生产日志宏下的 -Wall -Wextra -Werror 编译检查。 - 新分支源码使用独立 CMake 验证工程及仓库测试配置编译;未运行 NPU 算子测试(本次仅修改 host 工具)。 - 格式、差异空白检查、密钥检测和本次全部改动文件 OAT 通过。 - 最终提交时完整 pre-commit 通过,Markdown 链接检查覆盖 2631 个文件。 ## 文档更新 不涉及公开 API 文档变更;逐条告警报告已在本地交付。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5769 | 11 天前 | |
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 | 10 天前 | |
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 | 10 天前 | |
fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5769 merge fix/aclrtc-static-warnings into master fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 修复 ACLRTC 和公共进程执行器的 14 处静态告警,并集中路径校验与文件生命周期管理。FileUtils 提供规范化、普通文件校验及打开的公共入口;诊断模块只负责生成文本。StagedFileReplacement 共用于源码补丁和 ELF 发布,负责独占创建、完整写入、关闭检查、失败清理和原子替换。 ELF 主流程仅保留“暂存产物 → 清理工作目录 → 原子替换目标”,公共文件模块不依赖编译会话。暂存时确定的规范化目标一直用于最终发布;异常退出自动清理尚未发布的临时文件。保留补丁 0600、ELF 0644(受 umask 限制)、只读路径允许叶子链接、写入路径拒绝叶子链接、诊断失败非致命等语义。 同时为 4 个成员函数补充 const,明确两处位运算的无符号类型,删除无用头文件,以可写 argv 副本去除 const_cast;公共实现兼容 C++11。 其余 5 处建议豁免:4 处 W* 系统宏内部的位运算,以及已通过 ResolveCanonicalPath 调用 fs::canonical 的 ReadRegularFile。未运行原扫描器,14 为代码修复覆盖数量。 ## 关联的Issue 用户提供静态告警清单,尚无关联 Issue。 ## 测试 - ACLRTC 192、编译工具 92,共 284 个测试通过。覆盖暂存后延迟发布、异常退出清理、规范化目标一致性、文件权限、临时文件碰撞、rename 失败、流打开/追加写入,以及既有超时/写入失败/工作目录清理失败路径。 - FileUtils、ProcessExecutor、StagedFileReplacement 通过 C++11 和生产日志宏下的 -Wall -Wextra -Werror 编译检查。 - 新分支源码使用独立 CMake 验证工程及仓库测试配置编译;未运行 NPU 算子测试(本次仅修改 host 工具)。 - 格式、差异空白检查、密钥检测和本次全部改动文件 OAT 通过。 - 最终提交时完整 pre-commit 通过,Markdown 链接检查覆盖 2631 个文件。 ## 文档更新 不涉及公开 API 文档变更;逐条告警报告已在本地交付。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5769 | 11 天前 | |
fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5769 merge fix/aclrtc-static-warnings into master fix(aclrtc): 修复静态告警并统一文件 I/O 与原子替换 Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 修复 ACLRTC 和公共进程执行器的 14 处静态告警,并集中路径校验与文件生命周期管理。FileUtils 提供规范化、普通文件校验及打开的公共入口;诊断模块只负责生成文本。StagedFileReplacement 共用于源码补丁和 ELF 发布,负责独占创建、完整写入、关闭检查、失败清理和原子替换。 ELF 主流程仅保留“暂存产物 → 清理工作目录 → 原子替换目标”,公共文件模块不依赖编译会话。暂存时确定的规范化目标一直用于最终发布;异常退出自动清理尚未发布的临时文件。保留补丁 0600、ELF 0644(受 umask 限制)、只读路径允许叶子链接、写入路径拒绝叶子链接、诊断失败非致命等语义。 同时为 4 个成员函数补充 const,明确两处位运算的无符号类型,删除无用头文件,以可写 argv 副本去除 const_cast;公共实现兼容 C++11。 其余 5 处建议豁免:4 处 W* 系统宏内部的位运算,以及已通过 ResolveCanonicalPath 调用 fs::canonical 的 ReadRegularFile。未运行原扫描器,14 为代码修复覆盖数量。 ## 关联的Issue 用户提供静态告警清单,尚无关联 Issue。 ## 测试 - ACLRTC 192、编译工具 92,共 284 个测试通过。覆盖暂存后延迟发布、异常退出清理、规范化目标一致性、文件权限、临时文件碰撞、rename 失败、流打开/追加写入,以及既有超时/写入失败/工作目录清理失败路径。 - FileUtils、ProcessExecutor、StagedFileReplacement 通过 C++11 和生产日志宏下的 -Wall -Wextra -Werror 编译检查。 - 新分支源码使用独立 CMake 验证工程及仓库测试配置编译;未运行 NPU 算子测试(本次仅修改 host 工具)。 - 格式、差异空白检查、密钥检测和本次全部改动文件 OAT 通过。 - 最终提交时完整 pre-commit 通过,Markdown 链接检查覆盖 2631 个文件。 ## 文档更新 不涉及公开 API 文档变更;逐条告警报告已在本地交付。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5769 | 11 天前 | |
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 | 10 天前 | |
feat(jit): support pointer and struct tiling constants Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5719 merge feat/jit-tiling-arg-type into master feat(jit): support pointer and struct tiling constants Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 描述 JIT 常量化编译此前要求所有 constant_infos 项提供 byte_size,并与 argsBytes 严格相等,无法表达按值传递的结构体 tiling。 新增 constant_infos[].arg_type,支持 pointer 和 struct,缺省为 struct。ACLNN manifest 生成器固定输出 arg_type: pointer 和按 kernel 确定的 byte_size,不提供类型配置。pointer 常量使用 manifest 的 byte_size;struct 常量只使用 argsBytes[parameter_index],禁止在 manifest 中提供 byte_size。pack validator 和运行时均拒绝 struct 携带 byte_size。 公用 ManifestConstant 类统一 exporter 与 runtime 的 constant 字段契约。ParseDefinition 解析并校验定义,BindArgument 绑定参数地址与大小,屏蔽 pointer/struct 差异;私有成员维护解析及绑定状态,失败保留原状态,重新解析成功后清除旧绑定。错误直接记录 plog。删除 ConstantSizeRule 和自由解析入口,模块兼容 C++11,不依赖 ACLRTC。 ACLRTC 计划构建按解析和绑定两个职责封装。CompilationManifestParser 选择本次 kernel 的 basic/SK 配置,复用公用常量解析,输出持有数据的 CompilationManifest;只保留 CompilationManifest、ManifestCommand 两个解析层接口结构体。KernelCompilationPlanBuilder 直接接收解析结果,绑定常量、路径、环境和命令选项,在全部检查成功后才读取常量字节,失败不修改调用者输出。删除旧 kernel_manifest_parser、ManifestText、重复的绑定中间结构和独立组装步骤,Builder 不再接触 JSON 或判断 pointer/struct。 能力不区分 ACLNN 或尖括号来源,不添加 ACLNN 标记;两种入口均可按参数语义使用 pointer/struct。 删除未产生行为差异的 Parsed/Bound 状态,仅保留 definitionParsed_。路径与环境展开明确命名为 ExpandPathAndEnvironmentReferences,有上限的整数读取命名为 ReadBoundedNonnegativeInteger,解析和执行命令的参数字段统一为 arguments。 Builder 先绑定编译和链接命令,最后由 BuildConstantSourcePatches 完成全部常量绑定、目标展开和 patch 生成,任一步校验失败都不读取常量内存。请求侧删除 KernelCompilationVariant,使用 enableSuperKernel 表达 SK 开关;ManifestObjectKind 仅描述单个 basic/sk 对象。调整现有保护内存 UT,使其覆盖绑定阶段的命令与链接失败。 命令先按顺序展开全部 options 引用,再将首项作为 executable,其余作为 arguments。支持首项引用同时包含可执行文件及多个选项,拒绝展开后的空命令;不递归展开 options 引用。 ParseSelectedObjects 按请求选择编译对象。启用 SK 但所选 kernel 只有 basic 时记录 INFO 日志并回退普通编译,不加入 SK 专用选项;basic 缺失或已存在的 sk 配置错误仍返回失败。复用现有 UT 比较回退与 basic 模式的编译、链接命令,不增加用例数量。 保留受保护内存、非零参数索引的 pointer/struct 混合用例及解析数据所有权检查。UT 按职责收敛:字段与参数绑定校验集中在 ManifestConstant,删除 Parser/Builder/exporter 的重复校验矩阵,公共测试仅在 exporter 目标运行一次。补充状态重置、失败保留原状态和重复解析/构建的必要回归。 两个 Python producer 镜像同步修改。旧 pointer manifest 必须补充 arg_type: pointer 或重新生成。 ## 关联的Issue 暂无关联 Issue。 ## 测试 - 基于 CANN master 8668f3ffc 同步,无冲突。 - Manifest 生成器单元测试:14/14 通过。 - Exporter C++ 单元测试:80/80 通过。 - ACLRTC C++ 单元测试:192/192 通过。 - 公用 constant 测试仅在 exporter 中运行;本轮封装重构后 C++ 测试总执行数由 276 项减少至 272 项,保留整数边界、字段契约及失败输出不变等覆盖。 - ACLRTC 非 UT Release 动态库和 C++11 exporter 生产构建通过。 - 覆盖显式及缺省 struct、禁止 struct byte_size、pointer 必填 byte_size、两种大小来源、零长度和非法参数。 - 未执行 NPU 二级冒烟及算子泛化。 ## 文档更新 本 PR 不提交文档文件。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5719 | 12 天前 | |
【fix】修复 ResourceRegistry 加载编译资源 manifest 时允许空 resource_id 的问题 Co-authored-by: huxj153<huxiujuan@huawei.com> # message auto-generated for no-merge-commit merge: !5319 merge f/issue1583 into master 【fix】修复 ResourceRegistry 加载编译资源 manifest 时允许空 resource_id 的问题 Created-by: huxj153 Commit-by: huxj153 Merged-by: cann-robot Description: ## 描述 修复 ResourceRegistry 加载编译资源 manifest 时允许空 resource_id 的问题。 同时在 tests/tools/aclrtc/test_resource_registry.cpp 中补充回归测试: - 覆盖 LoadManifest() 直接加载空 resource_id manifest 的场景,断言返回 InvalidResource 且 stage 中不包含空 key。 - 覆盖公开 Load() 加载 bundle 的场景,断言包含空 resource_id 的非法 bundle 不会提交任何资源,同时保留合法 bundle 可正常加载和查询的对照。 ## 关联的Issue 关联Issue:ResourceRegistry 加载 manifest 时缺少空 resource_id 校验 ## 测试 ## 文档更新 无文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5319 | 23 天前 | |
refactor(build): consolidate common build infrastructure Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !5247 merge refactor/common-build-infrastructure into master refactor(build): consolidate common build infrastructure Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: ## 修改内容 - 将 pack、register、specialization 重复使用的进程执行能力提取到 tools/build/common - 将临时目录创建与生命周期管理提取为公共 RAII 能力 - 迁移 aclrtc specialization 与 asc_compile_exporter,删除不再使用的旧实现 - 增加中文详细设计和实施文档 ## 验证 - ACLRTC UT:184/184 通过 - asc_compile_exporter UT:70/70 通过 - acl_rtc 生产构建通过 - 变更文件格式、OAT、codespell 检查通过 See merge request: cann/asc-devkit!5247 | 25 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 12 天前 | ||
| 11 天前 | ||
| 11 天前 | ||
| 12 天前 | ||
| 11 天前 | ||
| 11 天前 | ||
| 11 天前 | ||
| 11 天前 | ||
| 11 天前 | ||
| 10 天前 | ||
| 10 天前 | ||
| 11 天前 | ||
| 11 天前 | ||
| 10 天前 | ||
| 12 天前 | ||
| 23 天前 | ||
| 25 天前 |