| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【fix】: 优化om2 编译耗时 Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !3271 merge om2_codeOpt_2 into develop 【fix】: 优化om2 编译耗时 Created-by: lidaoming1 Commit-by: lidaoming1 Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 om2 program generator支持表驱动 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3271 | 2 个月前 | |
【fix】: aicore支持表驱动 Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !3391 merge om2_aicore_codeOpt into develop 【fix】: aicore支持表驱动 Created-by: lidaoming1 Commit-by: lidaoming1 Merged-by: cann-robot Description: # Pull Request ## 描述 本次变更为 OM2 代码生成器引入**表驱动分发(Table-Driven Dispatch)**机制,针对 AICORE 类型 kernel task,将原先在 Load() 方法中为每个算子内联生成的地址解析、Launch 配置组装和任务分发代码,重构为**静态数据表 + 通用分发函数**的模式。 ### 核心变更 **1. 静态 OpDef 数据表** - 新增 OpDef、OpArgInfo、DispatchOpContext 等结构体定义(通过 StablePartId::kOpDefStructs 稳定代码段输出) - 新增 OpArgType、OpDispatchType 枚举,统一参数类型标识 - 编译期将所有算子的参数信息、Launch 配置、Kernel 执行参数、L0 信息序列化为 const OpDef kOpDefs[] 静态数组 **2. 通用 DispatchOp 分发函数** - 新增 DispatchOp(const OpDef*, const DispatchOpContext&) 函数,通过 switch(dispatch_type) 分发到对应的处理逻辑 - AICORE case 内部通过 for 循环遍历 argsInfo 数组,按 OpArgType 进行 switch-case 地址解析(支持 INPUT/OUTPUT/WORKSPACE/CONST_TENSOR/LEVEL1_DESC/SHAPE_INFO/CUSTOM_VALUE/TILING 等 14 种参数类型) - Load() 方法中对支持表驱动的 task 改为调用 DispatchOp(&kOpDefs[i], ctx) **3. AST 基础设施扩展** - 新增 CCastExpr(C 风格类型转换)、DesignatedInitListExpr(C99 指定初始化列表)、SwitchStmt/CaseStmt/BreakStmt(switch-case 语句)等 AST 节点 - InitListExpr 增加 compact 模式控制格式化输出 - CppEmitter 实现所有新节点的代码发射 **4. TaskCodeBuilder 框架扩展** - 基类新增 SupportsTableDriven()、RenderDispatchOpCaseBody()、RenderOpDefTableFields()、GetOpDefBuildData() 等虚方法 - KernelTaskCodeBuilder 实现表驱动数据提取(GetOpDefBuildData()),使用 AddrValueKind → 构建函数 的 map 驱动参数构造 - 新增 ResolveOpAddr() 运行时辅助函数,统一地址解析逻辑 **5. 其他调整** - AssembleLaunchConfig 返回类型从 void 改为 aclError - kWidthPerChar 常量从局部移至 om2_codegen_types.h 共享 - InterfaceFileCodeGenerator 简化成员字段声明,去除条件守卫(统一声明) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3391 | 3 个月前 | |
【fix】: 优化om2 编译耗时 Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !3271 merge om2_codeOpt_2 into develop 【fix】: 优化om2 编译耗时 Created-by: lidaoming1 Commit-by: lidaoming1 Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 om2 program generator支持表驱动 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3271 | 2 个月前 | |
【fix】: 优化om2 编译耗时 Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !3271 merge om2_codeOpt_2 into develop 【fix】: 优化om2 编译耗时 Created-by: lidaoming1 Commit-by: lidaoming1 Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 om2 program generator支持表驱动 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3271 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 |