| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor(aicpu_common): 按对外可见性拆分头文件源码目录 将 pkg_inc/op_common/aicpu_common/context 下 35 个头文件按"谁在用" 拆分到两处,使对外契约面与 opbase 内部实现在源码目录上物理隔离: - 17 个仅 opbase 使用的头 -> aicpu_common/context/{common,cpu_proto} (框架 cache/sharder/threadpool/async + cpu_proto 的 *_impl,与对应 .cc 同级) - 18 个对外公开的头 -> include/op_common/aicpu_common/context/ (15 个被 ops-cv/math/nn/transformer 直接 include,加 3 个传递依赖: cpu_kernel_register.h、device_cpu_kernel.h 经 node_def_builder.h; log_weak.h 经 log.h) 头文件内容零改动;装包目的地路径一律不变,package.cmake 只改 install 的源路径,下游四仓零感知。 配套构建改动: - aicpu_context_headers 的 include 目录 4 -> 8(.cc 里 include 均为裸文件名, 跨目录必须显式在 path 上) - package.cmake 中 pkg_inc/aicpu_common 装包拆为「公开侧整目录 install + 私有 17 头 install(FILES ... PERMISSIONS)」,合并回同一目的地 - include/op_common 整目录 install 新增 PATTERN "aicpu_common" EXCLUDE, 避免公开头被扫进 include/op_common 产生冗余副本 验证(远端 aarch64 + CANN 9.2.0): - 完整 .run 编包基线/改动后双向比对:211 个文件集合完全相同,208 个逐字节 一致,其余 3 个仅因构建时间戳而异;权限位 0 差异 - opbase aicpu host/device 两侧共 84 个源文件强制重编,零错误 - ops-math/ops-nn/ops-cv/ops-transformer 四仓编包全部通过 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MfMxjhHAYKukSCh5pKfjeG | 1 个月前 |