| feat: 支持 pyatc 命令行入口
Co-authored-by: du-hua1024<duhua2@huawei.com>
# message auto-generated for no-merge-commit merge:
!2561 merge master into develop
feat: 支持 pyatc 命令行入口
Created-by: du-hua1024
Commit-by: du-hua1024
Merged-by: cann-robot
Description: 20260428
# Pull Request
## 描述
本 PR 为 ge-py 增加 pyatc 命令行入口,使用户可以通过 pyatc 或 python3 -m ge.pyatc 使用与 atc 等价的离线编译能力,并复用原有 ge::main_impl() 主流程。
主要变更:
- 新增 api/atc/pyatc shell wrapper 和 ge.pyatc Python 模块,负责补齐 CANN 运行环境、转发命令行参数并保留原始 argv0。
- 新增 libpyatc_wrapper.so,封装 ge::main_impl() 调用;调整 ATC usage 和失败提示中的程序名显示。
- 拆分 ge-py C wrapper 动态库为 graph_wrapper、ge_runtime_wrapper、offline_compile_wrapper、pyatc_wrapper,降低不同 Python 能力之间的链接依赖耦合。
- 将 Tensor host/device 拷贝接口迁移到 pytensor_runtime_wrapper,并更新 ge-py 相关 loader。
- 更新 ge-compiler 打包配置,将 pyatc 安装到 bin;补充 ge-py README、设计文档和 pyatc pytest 用例。
## 变更类型
请选择本次引入的变更类型:
- [ ] 🐛 Bug 修复
- [x] ✨ 新功能
- [ ] 💄 代码风格更新(格式化,局部变量)
- [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动)
- [x] 📦 构建过程或辅助工具的变动
- [x] 📝 文档内容更新
## 关联的Issue
暂无
## 如何测试
- 新增 tests/ge/ut/ge/graph/pyge_tests/pyatc_test.py,覆盖 ge.pyatc 参数转发、GE_PYATC_CMDLINE_ARGV0、python3 -m ge.pyatc usage 名称设置和 wrapper 加载检查。
- 建议运行:pytest tests/ge/ut/ge/graph/pyge_tests/pyatc_test.py
- 建议在打包环境验证:pyatc --help、python3 -m ge.pyatc --help 与 atc --help 行为一致。
## 核对清单
- [x] 我的代码遵循了项目的代码风格
- [x] 我已对代码进行了自测
- [x] 我已更新了相关的文档
- [x] 我在标题中使用了合适的类型标签(如:feat:, fix:)
- [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等
## 其他信息
pyatc 不在 Python 层重新解析 ATC 参数;命令行参数、help 文案、stdout/stderr 和退出码继续由既有 ATC 主流程处理。
See merge request: cann/ge!2561 | 24 天前 |