| Files | Last commit | Last update |
|---|---|---|
fix: 清理 Math 独立实现路径的未使用 workspace Co-authored-by: zhang-song-rui<zhangsongrui@h-partners.com> # message auto-generated for no-merge-commit merge: !6711 merge fix/math-independent-workspace into master fix: 清理 Math 独立实现路径的未使用 workspace Created-by: zhang-song-rui Commit-by: zhang-song-rui Merged-by: cann-robot Description: ## 修改内容 清理 Lerp、Muls、Pow、Select SIMT、TanhGrad 独立实现路径中未使用的 workspace 申请。没有额外用户 workspace 的路径将申请量设为 0;kernel 入口允许零 workspace 下继续执行计算。保留内部 kernel 的 workspace 参数及原调用形式。 | 算子/路径 | 修改位置 | 修改内容及影响 | | --- | --- | --- | | Lerp | math/lerp/op_host/arch35/lerp_tiling_arch35.cpp | WORKSPACE_SIZE 从 32 改为 0,保留常量及原赋值方式;不改变 tiling key 和计算分支。 | | Muls | math/muls/op_host/arch35/muls_tiling_arch35.cpp | 将申报的 workspace 从固定系统预留量改为 0,计算和 tiling 策略保持原样。 | | Pow | math/pow/op_host/arch35/pow_tiling_arch35.cpp | GetWorkspaceSize 中将申请量设为 0,移除仅为查询系统 workspace 大小使用的平台信息获取和 include。 | | Pow | math/pow/op_kernel/pow_apt.cpp | 移除 workspace 为空时直接返回的判断,以及无用的系统 workspace 设置、用户 workspace 地址转换,使零 workspace 时仍执行原计算分支。内部 Init 接口及 workspace 参数保持原样。 | | Select SIMT | math/select/op_host/arch35/select_simt_tiling.cpp | WORKSPACE_SIZE 从 32 改为 0,保留常量和赋值形式;只修改 SIMT 路径。 | | TanhGrad | math/tanh_grad/op_host/arch35/tanh_grad_tiling_arch35.cpp | WORKSPACE_SIZE 从 32 改为 0,保留常量和赋值形式,不调整原计算流程。 | 同时原样包含 Lerp、Muls、Pow、TanhGrad 对应的 4 个算子 Host UT 文件修改,将 workspace 期望值更新为 0。本 PR 共 10 个文件。 ## 与 BRC PR 的边界 本 PR 为原 [PR #6242](https://gitcode.com/cann/ops-math/pull/6242) 的独立实现部分;公共 BroadcastBaseTiling(BRC)模板相关的 29 个算子 UT 文件留在 #6242。 Select 的现有 UT 命中 BRC 路径,原期望为 16 MiB,其断言修改留在 #6242;本 PR 的 Select 修改仅为 SIMT 独立实现。Lerp、Pow、TanhGrad 中使用底层 BroadcastTiling 的实现按其自行申报 workspace 的实际修改归入本 PR。 两个 PR 使用相同基线,各一次提交,改动文件互不重叠;两份补丁合并后的 Git tree 与拆分前提交 6875c10f04af0cc8f012cba867892a1f660702d5 完全一致。拆分未改变任何代码内容、排版或换行格式。 ## 验证 拆分前整体联调版本在 CANN 9.2.0、已接入 Broadcast workspace 补丁的依赖环境下,完成 Host UT 对象编译、静态归档重建、最终链接及运行,333/333 通过,39 个改动文件 pre-commit 通过。 该结果属于拆分前整体版本,不替代本 PR 拆分后的线上 CI。Pow arch35 原有用例整段处于注释中,其 workspace 断言未实际执行。 ## 关联 公共 BRC 算子 UT 更新:[PR #6242](https://gitcode.com/cann/ops-math/pull/6242)。本 PR 不修改 CMake、公共 UT 框架或远程依赖版本。 See merge request: cann/ops-math!6711 | 15 days ago | |
refactor: 统一 math 目录 13 个算子的代码风格与格式规范 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6542 merge ccc_1020 into master refactor: 统一 math 目录 13 个算子的代码风格与格式规范 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本 PR 对 math 目录下 13 个算子进行代码风格规范化(代码格式化),不涉及功能性改动。涉及的算子包括:axpy、axpy_v2、bias_add、div、div_no_nan、gcd、ger、muls、select、select_v2、signbit、squared_difference、tanh_grad。 ### 改动原因 统一算子代码的编码风格与格式规范,提升代码可读性和可维护性。 ### 改动方法 对 C++ 源码、Python 脚本及 CMake 构建文件进行格式化,具体包括: - 统一 License 头注释格式(分隔线长度与换行) - 统一命名空间括号风格( namespace xxx { 同行) - 统一 // namespace xxx 尾部注释与 #endif // xxx 注释格式(单空格) - 移除行尾空格,补全文件末尾换行 - 统一缩进(2 空格 → 4 空格)与函数声明/定义换行 - 统一 Python 脚本 docstring 引号与长语句换行 - 统一 CMakeLists 文件 License 头与文件末尾换行 ## 关联的Issue - #3814 ## 测试 本次改动为纯代码格式化,无功能性变更,逻辑行为保持不变。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码风格规范化(格式化) See merge request: cann/ops-math!6542 | 20 days ago | |
feat(ascend960): 39个算子使能ascend960 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !6137 merge feat/ascend960-enable into master feat(ascend960): 39个算子使能ascend960 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 为 ascend960 新增芯片形态适配算子,覆盖 math 与 conversion 目录下共 39 个算子,无 kernel 代码改动,复用现有 arch35 kernel 与 tiling。 ### 改动原因 ascend960 为新增芯片形态,现有算子需补齐平台注册、编译单元与二进制配置后,才能在新平台上被算子信息库发现、编译并选择正确的 kernel 二进制。 ### 改动方法 1. **算子信息库注册**( *_def.cpp):新增 ascend960 平台注册(AICore().AddConfig) 2. **编译配置**(CMakeLists.txt):在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNITS 中追加 ascend960,并在 SUPPORT_TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35);Add / ClipByValue / ClipByValueV2 的编译选项并入既有 add_kernel_sources 块(选项与 ascend950 / ascend350 既有块一致) 3. **二进制配置**:为每个算子新增 ascend960 二进制配置目录,包含 <op>_binary.json 与 <op>_simplified_key.ini,内容沿用 ascend950 既有配置 4. **中央注册表**(scripts/kernel/binary_config/ascendc_config.json):33 个既有条目补齐 ascend960 编译选项,Mod 条目同步补齐(平台注册与编译单元主线已就绪) 5. **注册口径**:Signbit / Add / Ger / Gcd / BitwiseXor 不在中央注册表新增 ascend960 条目(Add 编译选项已迁移至 CMake 管理,其余沿主线现状,主线 ascend950 亦无对应条目) ### 算子清单(共 39 个) - math 目录 36 个:Add、Sub、Mul、Muls、Div、DivNoNan、RealDiv、FloorDiv、FloorMod、BitwiseAnd、BitwiseOr、BitwiseXor、Equal、NotEqual、Less、LessEqual、Greater、GreaterEqual、LogicalAnd、LogicalOr、Select、SelectV2、Maximum、Minimum、Pow、Lerp、BiasAdd、Axpy、AxpyV2、Addcmul、Addcdiv、Ger、Gcd、Signbit、TanhGrad、SquaredDifference、Mod - conversion 目录 2 个:ClipByValue、ClipByValueV2 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3597 ## 测试 - pre-commit 全部 hook 通过(clang-format / OAT / codespell 等) - CI compile 门禁通过(18 个 Compile Job) - ascend960 内核编译与上板验证待具备 ascend960 环境后执行,合入前补充 ## 文档更新 无(仅平台适配,不改变算子功能与约束,不涉及 README 更新) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6137 | 26 days ago | |
feat: mul/select 算子支持 PcieThrough 场景识别与回退 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !5116 merge pcie_through into master feat: mul/select 算子支持 PcieThrough 场景识别与回退 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 mul、select 算子增加 PcieThrough(PCIe 直通)场景适配: 1. select simt tiling 回退: SelectSimtTiling::IsCapable 新增前置 IsPcieThrough() 判断,PcieThrough 场景返回 false,回退到低优先级的 SelectTiling(内部走 opbase broadcast 模板,PcieThrough 下强制 UB BRC 调度) 2. IsPcieThrough 实现与 broadcast 模板版本兼容方案对齐:高版本 SDK(METADEF_VERSION_NUM >= 90200000)调用 context_->GetPcieThroughFlag(),低版本走 #else 兜底 false 3. PcieThrough 能力标记:IMPL_OP_INFERSHAPE(Mul) 与 IMPL_OP_INFERSHAPE(Select) 在高版本 SDK 下链式调用 SetSupportPcieThrough() 4. 显式包含 version/metadef_version.h 5. 顺带对 select_simt_tiling.cpp/.h 与 mul_infershape.cpp 做格式化规整(缩进、大括号风格、文件末尾换行),无逻辑变更 配套模板侧 PR:https://gitcode.com/cann/opbase/pull/788(broadcast 模板 PcieThrough 识别与 UB BRC 强制调度)。本 PR 依赖其先合入,否则 PcieThrough 场景下 broadcast 模板缺少强制 UB BRC 与非连续拦截,行为不完整。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3018 ## 测试 - 当前 SDK metadef 版本低于 90200000,GetPcieThroughFlag/SetSupportPcieThrough 真实分支未编入,兜底路径下行为与合入前一致 - IsCapable 回退分支与 SetSupportPcieThrough 标记待 METADEF >= 90200000 环境编译运行验证 - CI 流水线运行中(ci-pipeline-running) ## 文档更新 不涉及 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5116 | 2 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 15 days ago | ||
| 20 days ago | ||
| 26 days ago | ||
| 2 months ago |