| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 1 个月前 | |
support static compile Manifest generation Co-authored-by: zhangyujia77<zhangyujia37@huawei.com> # message auto-generated for no-merge-commit merge: !4852 merge static_compile into master support static compile Manifest generation Created-by: zhangyujia77 Commit-by: zhangyujia77 Merged-by: cann-robot Description: ## 描述 本PR为AscendC动态编译增加静态编译Manifest生产能力,并保持 kernel-spec=None时的原有编译流程不变。 主要改动如下: - 为asc_opc增加--kernel-spec=None|Normal|SK和--kernel-spec-dir参数校验及Context透传: - None:沿用原有动态编译流程,不生成Manifest。 - Normal:执行原有Normal动态编译,生成仅包含Basic对象的Manifest资源包。 - SK:实际执行Normal动态编译,以record-only方式记录SK、bind和objcopy命令,生成同时包含Basic和SK对象的Manifest资源包。 - 引入CompileCommandSession统一管理执行、执行并记录、仅记录三种命令模式,复用原有动态编译命令生成逻辑,避免静态命令规则与原流程分叉。 - 使用KernelSpecCompilation封装Manifest编译生命周期,负责Basic/SK上下文切换、Resource ID写入、Manifest快照构造及异常转换。 - 新增ManifestPackageWriter,收集wrapper、Tiling模板和常量资源,支持grouped Tiling Key、MIX核、SK bind及符号重写命令,并通过加锁、临时目录、fsync和原子替换发布每个Kernel的Manifest资源包。 - 根据动态ELF内容计算SHA256 Resource ID,并以只读.ascend.resource_id段写回ELF;失败时保留原文件并清理临时资源。 - 对齐导出器无stage字段的命令格式,移除校验日志对stage的依赖。 - 补充Normal、SK、grouped Tiling Key、MIX核、Resource ID、回滚、并发发布和异常路径UT。 ## 关联的Issue 无。 ## 测试 本地验证: - python3 -m pytest -q tests/python/asc_op_compiler/test_static_compile_resource_generator.py - 14 passed,7 subtests passed。 - python3 -m pytest -q tests/python/asc_op_compiler/test_compile_op.py -k kernel_spec - 11 passed,6 subtests passed。 - python3 -m pytest -q tests/python/asc_opc/test_op_compilation_ut.py::TestOpCompilationUt::test_single_op_compile_passes_kernel_spec_to_context tests/python/asc_opc/test_opc.py::TestOpc02::test_kernel_spec_rejects_invalid_combinations - 2 passed,8 subtests passed。 - python3 -m pytest -q tests/python/asc_op_compiler/test_static_compile_resource_id.py - 3 passed,3 subtests passed。 - cmake --build build/contract_tests --target ascendc_ut_asc_compile_exporter -j2 - 63 tests passed。 - 扩展执行test_compile_op.py和Manifest生成器UT时,162项通过;14项真实Bisheng预编译用例因本地源码树缺少kernel_operator.h未通过。该限制与本次Python方法重排无关。 CI验证: - SCA、antipoison、codecheck、codecheck_Pr、codecheck_precommit和StaticCheck_md通过。 - x86_64、aarch64及Ubuntu 24编译任务通过。 - PreSmoke_A900_npupool通过。 ## 文档更新 无。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4852 | 1 个月前 | |
support static compile Manifest generation Co-authored-by: zhangyujia77<zhangyujia37@huawei.com> # message auto-generated for no-merge-commit merge: !4852 merge static_compile into master support static compile Manifest generation Created-by: zhangyujia77 Commit-by: zhangyujia77 Merged-by: cann-robot Description: ## 描述 本PR为AscendC动态编译增加静态编译Manifest生产能力,并保持 kernel-spec=None时的原有编译流程不变。 主要改动如下: - 为asc_opc增加--kernel-spec=None|Normal|SK和--kernel-spec-dir参数校验及Context透传: - None:沿用原有动态编译流程,不生成Manifest。 - Normal:执行原有Normal动态编译,生成仅包含Basic对象的Manifest资源包。 - SK:实际执行Normal动态编译,以record-only方式记录SK、bind和objcopy命令,生成同时包含Basic和SK对象的Manifest资源包。 - 引入CompileCommandSession统一管理执行、执行并记录、仅记录三种命令模式,复用原有动态编译命令生成逻辑,避免静态命令规则与原流程分叉。 - 使用KernelSpecCompilation封装Manifest编译生命周期,负责Basic/SK上下文切换、Resource ID写入、Manifest快照构造及异常转换。 - 新增ManifestPackageWriter,收集wrapper、Tiling模板和常量资源,支持grouped Tiling Key、MIX核、SK bind及符号重写命令,并通过加锁、临时目录、fsync和原子替换发布每个Kernel的Manifest资源包。 - 根据动态ELF内容计算SHA256 Resource ID,并以只读.ascend.resource_id段写回ELF;失败时保留原文件并清理临时资源。 - 对齐导出器无stage字段的命令格式,移除校验日志对stage的依赖。 - 补充Normal、SK、grouped Tiling Key、MIX核、Resource ID、回滚、并发发布和异常路径UT。 ## 关联的Issue 无。 ## 测试 本地验证: - python3 -m pytest -q tests/python/asc_op_compiler/test_static_compile_resource_generator.py - 14 passed,7 subtests passed。 - python3 -m pytest -q tests/python/asc_op_compiler/test_compile_op.py -k kernel_spec - 11 passed,6 subtests passed。 - python3 -m pytest -q tests/python/asc_opc/test_op_compilation_ut.py::TestOpCompilationUt::test_single_op_compile_passes_kernel_spec_to_context tests/python/asc_opc/test_opc.py::TestOpc02::test_kernel_spec_rejects_invalid_combinations - 2 passed,8 subtests passed。 - python3 -m pytest -q tests/python/asc_op_compiler/test_static_compile_resource_id.py - 3 passed,3 subtests passed。 - cmake --build build/contract_tests --target ascendc_ut_asc_compile_exporter -j2 - 63 tests passed。 - 扩展执行test_compile_op.py和Manifest生成器UT时,162项通过;14项真实Bisheng预编译用例因本地源码树缺少kernel_operator.h未通过。该限制与本次Python方法重排无关。 CI验证: - SCA、antipoison、codecheck、codecheck_Pr、codecheck_precommit和StaticCheck_md通过。 - x86_64、aarch64及Ubuntu 24编译任务通过。 - PreSmoke_A900_npupool通过。 ## 文档更新 无。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4852 | 1 个月前 | |
扩展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 | 2 个月前 | |
feat: support cross-core profiling task types Co-authored-by: jianwei10<zhengjianwei10@huawei.com> # message auto-generated for no-merge-commit merge: !4485 merge master into master feat: support cross-core profiling task types Created-by: Geminiver Commit-by: jianwei10 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 在kernel type 解析逻辑中,添加对 cross core type字段的支持 ## 关联的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!4485 | 2 个月前 | |
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 | 1 个月前 | |
扩展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 | 2 个月前 | |
SOC_SERIES需求 Co-authored-by: jcmrn0930<2418672268@qq.com> # message auto-generated for no-merge-commit merge: !5209 merge master into master SOC_SERIES需求 Created-by: jcmrn0930 Commit-by: jcmrn0930 Merged-by: cann-robot Description: ## 描述 SOC_SERIES需求 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的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!5209 | 1 个月前 | |
[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 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |