| Files | Last commit | Last update |
|---|---|---|
fix(sign_bits_pack): 声明 workspace 槽修复 tiling 指针错位导致的 507035 Co-authored-by: zhoulong50_hw<zhoulong50@huawei.com> # message auto-generated for no-merge-commit merge: !6446 merge sign_bits_pack into master fix(sign_bits_pack): 声明 workspace 槽修复 tiling 指针错位导致的 507035 Created-by: zhoulong50_hw Commit-by: zhoulong50_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复杂凑 sign_bits_pack(arch35)host tiling:补上缺失的 workspace 槽声明,使下发实参与 kernel 入口签名对齐,消除运行期 507035(向量核异常)。 **问题(现象与机制)** - 现象:运行 sign_bits_pack(arch35)kernel 用例时稳定报错,rtStreamSynchronize 返回 507035,desc=[vector core exception],扩展信息为 The DDR address of the MTE instruction is out of range。 - 机制:kernel 入口签名为 sign_bits_pack(GM_ADDR x, GM_ADDR y, GM_ADDR workspace, GM_ADDR tiling),共 **4** 个入参(含 workspace)。而 host tiling 从未调用 GetWorkspaceSizes,算子不提供 workspace 参数,运行时实际只下发 **3** 个实参(x、y、tiling)。 - 后果:实参整体错位一格 —— kernel 的 workspace 形参收到的是真正的 tiling 指针,tiling 形参收到一个非法值。框架随后从该非法地址拷贝 tiling data,MTE 访问越界,触发 507035。 **修改**(单文件,+7) 在 math/sign_bits_pack/op_host/arch35/sign_bits_pack_tiling_arch35.cpp 的 TilingFuncSignBitsPack 中,取到输入信息之后、进入后续分支之前,声明 1 个 workspace 槽: cpp size_t* currentWorkspace = context->GetWorkspaceSizes(1); if (currentWorkspace == nullptr) { OP_LOGE(kOpName, "GetWorkspaceSizes returned null"); return ge::GRAPH_FAILED; } currentWorkspace[0] = 0; - **占用 1 个 workspace 槽**:使实参个数与 kernel 签名(4 个)对齐,消除错位。 - **槽位大小置 0**:该算子不需要 workspace 空间,仅需占位。 - **空指针保护**:GetWorkspaceSizes 返回空时记录日志并返回 ge::GRAPH_FAILED。 **兼容性** - 合法输入的计算逻辑、tiling 数值、TilingKey、BlockDim 均不变。 - 与仓库内其余 arch35 算子保持一致(如 abs、acos 等 tiling 均通过 GetWorkspaceSizes 声明 workspace 槽)。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3638 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟,泛化用例12条。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> bug修复,无文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6446 | 25 days ago | |
【CANNBot】新增sign_bits_pack算子Ascend950(arch35)适配实现 Co-authored-by: zhouxuan78<zhouxuan78@huawei.com> # message auto-generated for no-merge-commit merge: !4470 merge feat/sign_bits_pack_ascend950 into master 【CANNBot】新增sign_bits_pack算子Ascend950(arch35)适配实现 Created-by: zhouxuan78 Commit-by: zhouxuan78 Merged-by: cann-robot Description: ## 描述 新增sign_bits_pack算子Ascend950(arch35)适配实现 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2530 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4470 | 2 months ago | |
【CANNBot】新增sign_bits_pack算子Ascend950(arch35)适配实现 Co-authored-by: zhouxuan78<zhouxuan78@huawei.com> # message auto-generated for no-merge-commit merge: !4470 merge feat/sign_bits_pack_ascend950 into master 【CANNBot】新增sign_bits_pack算子Ascend950(arch35)适配实现 Created-by: zhouxuan78 Commit-by: zhouxuan78 Merged-by: cann-robot Description: ## 描述 新增sign_bits_pack算子Ascend950(arch35)适配实现 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2530 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4470 | 2 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 25 days ago | ||
| 2 months ago | ||
| 2 months ago |