已合并
fix cleancode view_copy #3838
csz创建于 7月6日
fix cleancode view_copy #3838
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 csz 的贡献)atomgit-bot
7月6日 评论:
7月6日 评论:
变更摘要
本次 PR 是对 view_copy_tiling_arch35.cpp 的一次代码整洁性重构(clean code),主要将 GetSizeAndStrideValue 和 DoTiling 两个函数中的内联逻辑提取为独立的辅助函数,以提升代码可读性和可维护性,不涉及功能逻辑的变更。
主要改动
- 新增
FilterSizeAndStrideAxes模板函数:将原本在GetSizeAndStrideValue中过滤 size/stride 维度(跳过值为 1 的轴)及兜底填充的逻辑提取为独立函数,在GetSizeAndStrideValue中直接调用。 - 新增
CalcOutSizeAndAdjustUb函数:将DoTiling中计算outSize并根据多核条件动态调整ubSize、重新计算ubFactor的 while 循环逻辑抽取为独立函数,返回计算后的outSize。 - 新增
CalcContiguousStrides函数:将DoTiling中基于disContiguousAxis计算contiguousUbDstStride和contiguousUbSrcStride的两个 for 循环逻辑抽取为独立函数。


atomgit-bot
7月6日 评论:
7月6日 评论:
代码审查
审查总结
本次审查覆盖了 1 个变更文件:conversion/view_copy/op_host/arch35/view_copy_tiling_arch35.cpp。
该文件的变更是将 GetSizeAndStrideValue 和 DoTiling 两个函数中的大段内联代码提取为三个独立的静态辅助函数(FilterSizeAndStrideAxes、CalcOutSizeAndAdjustUb、CalcContiguousStrides),以降低圈复杂度。提取的代码在逻辑上与原内联代码基本一致。
发现统计:P3 × 1
- P3(1 个):
CalcOutSizeAndAdjustUb函数中新增了bytesForOneData > 0守卫,这是原始内联代码中不存在的防御性变更。对于所有合法输入该守卫无实际影响,但在重构 PR 中引入了行为偏差,并与同文件中其他类似代码路径风格不一致。
整体风险评估:低风险。变更的主体是纯粹的代码提取重构,不影响正常业务流程。唯一的行为差异仅存在于非法 dtype 的边缘场景,且在实际运行中不可达。
⚠️ 已识别出整体风险,但无法提取行内评论,请参考整体评估。


7月6日 添加了label:cann-cla/yes
7月6日 修改了pull request 的描述
此处折叠了64条消息 查看更多
7月7日 修改了pull request 的描述
7月7日 添加了label:lgtm
7月7日 关闭了关联的issue
7月7日 合入了pull request
描述
冒烟和ST测试通过
修改viewcopy的超大函数和超大圈复杂度问题
提交后发现还有pre-commit的格式问题也修改了
关联的Issue
https://gitcode.com/cann/ops-math/issues/2154
DTS2607060008784
测试
文档更新
类型标签