| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
添加Squeeze函数去1轴 Co-authored-by: ca1kw<caikaiwei@huawei.com> # message auto-generated for no-merge-commit merge: !4306 merge squeeze_master into master 添加Squeeze函数去1轴 Created-by: ca1kw Commit-by: ca1kw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增 Squeeze Tensor API,提供两种模式在编译期、运行期移除 Layout/Tensor 中大小为 1 的维度,如果在运行期移除,需用户保证维度大小为1: 1. 索引模式: Squeeze<Dim...>(x) — 通过模板参数指定要去除的轴索引,仅当该轴编译期大小为1时才移除 2. 模式匹配模式: Squeeze(x, pattern) — 通过与shape同构的pattern标记(_1标记squeeze位置,_标记保留),支持递归处理嵌套tuple结构 调用方式: // 模式一:索引模式 — 通过模板参数指定轴索引 auto layout = MakeLayout(MakeShape(_4{}, _1{}, _5{})); auto squeezed = Squeeze<1>(layout); // shape: (4, 5) auto squeezed = Squeeze<0, 2>(layout); // 可同时指定多个轴,顺序无关 // 模式二:模式匹配 — 通过与 shape 同构的 pattern 标记 auto layout = MakeLayout(MakeShape(_1{}, _4{}, _1{})); auto squeezed = Squeeze(layout, MakeCoord(_1{}, _, _1{})); // shape: (4,) // _1{} 标记 squeeze 位置,_ 标记保留位置;支持嵌套递归匹配 // 两种模式均可直接作用于 Tensor,返回复用原 Engine 的新 Tensor auto squeezed = Squeeze<0>(tensor); auto squeezed = Squeeze(tensor, MakeCoord(_, _1{})); 语义:被标记但编译期大小不为 1 的轴直接保留,不报错;squeeze 后若仅剩一层嵌套 tuple 则自动解包(如 (1,(M,K)) → (M,K))。 核心实现: - Layout 层:SqueezeLayout 支持两种模式,包含递归 pattern squeeze 处理嵌套结构 - Tensor 层:自动适配 Layout 和 Tensor 输入,Tensor 场景下复用原 Engine 并生成新 Layout - 辅助工具:IsOne、IsSameStructure、KeepIndexSeq、SelectBySeq 等编译期 tuple 操作原语 - 常量定义:KeepMark 和 _ 用于 pattern 标记 文件变更: - include/tensor_api/tensor/layout.h: 新增 Squeeze 函数声明 - impl/tensor_api/tensor/layout_impl.h: Layout 层 squeeze 实现(+138) - impl/tensor_api/tensor/tensor_impl.h: Tensor 层 squeeze 适配(+36) - impl/tensor_api/tensor/tuple_impl.h: 编译期 tuple 工具函数(+83) - impl/tensor_api/utils/constant_impl.h: 新增 KeepMark 和 _ 常量(+6) - tests/api/tensor_api/basic_struct/layout/test_tensor_api_squeeze.cpp: 单元测试(+244) ## 关联的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!4306 | 1 个月前 | |
refactor: impl目录下的代码格式 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4211 merge br_codestyle_impl2 into master refactor: impl目录下的代码格式 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按照/clang-format刷新impl下tensor_api、simt_api、utils目录的代码格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4211 | 1 个月前 | |
refactor: impl目录下的代码格式 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4211 merge br_codestyle_impl2 into master refactor: impl目录下的代码格式 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按照/clang-format刷新impl下tensor_api、simt_api、utils目录的代码格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4211 | 1 个月前 | |
refactor: impl目录下的代码格式 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4211 merge br_codestyle_impl2 into master refactor: impl目录下的代码格式 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按照/clang-format刷新impl下tensor_api、simt_api、utils目录的代码格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4211 | 1 个月前 | |
refactor: impl目录下的代码格式 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4211 merge br_codestyle_impl2 into master refactor: impl目录下的代码格式 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按照/clang-format刷新impl下tensor_api、simt_api、utils目录的代码格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4211 | 1 个月前 | |
refactor: impl目录下的代码格式 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4211 merge br_codestyle_impl2 into master refactor: impl目录下的代码格式 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按照/clang-format刷新impl下tensor_api、simt_api、utils目录的代码格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4211 | 1 个月前 | |
refactor: impl目录下的代码格式 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4211 merge br_codestyle_impl2 into master refactor: impl目录下的代码格式 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按照/clang-format刷新impl下tensor_api、simt_api、utils目录的代码格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4211 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |