已合并
非连续场景下concat算子部分模板偏移地址计算问题修复 #3882
wuchengming创建于 7月7日
非连续场景下concat算子部分模板偏移地址计算问题修复 #3882
已合并
wuchengming创建于 7月7日
wuchengming
7月7日

描述

  1. 修改在非连续场景下,concat算子部分模板偏移地址计算问题,之前计算地址为shape,应为stride
  2. 修改代码文件格式

关联的Issue

#2173

测试

完成冒烟、白盒、泛化用例测试

文档更新

不涉及

类型标签

  • Bug修复
  • 新特性
  • 性能优化
  • 文档更新
  • 其他,请描述:
likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 wuchengming 的贡献)
Wwuchengming
7月7日 创建了 pull request,commit 3ce8cc67
atomgit-bot
atomgit-bot
7月7日 评论:

变更摘要

此 PR 修复了 concat 算子在处理非连续(non-contiguous)tensor 时,srcOffset 计算未正确使用每个 tensor 自身 dim0stride 的问题。核心变更是将 CopyInSplitDim1 函数的参数 srcOffset(预乘了 sameShapeTensorDim1)改为 srcRowsOffset(纯行偏移),并在每次调用 CopyInSingleTensor 时使用当前 tensor 的 dim0stride 动态计算实际源地址偏移,从而保证非连续 tensor 场景下地址计算的正确性。

主要改动

  • CopyInSplitDim1 参数语义修正:将参数 srcOffset 重命名为 srcRowsOffset,其含义从"预乘 dim1 长度的字节偏移"变为"纯行偏移"。调用方不再传入 i * ubFactorDim0 * sameShapeTensorDim1,而是传入 i * ubFactorDim0

  • CopyInSingleTensor 调用处的 srcOffset 计算修复:在 CopyInSplitDim1 内部,原来直接使用 srcOffset + splitInfo.startOffset 作为源偏移;现在改为 srcRowsOffset * dim0stride + splitInfo.startOffset,其中 dim0stride 通过 GetTensorDim0Stride 按当前 tensor 索引实时获取,确保非连续 tensor 使用各自正确的步长。

  • 跨 tensor 循环内的偏移计算修复:在 CopyInSplitDim1 遍历多个 tensor 的循环中(含中间 tensor 和末尾 endIdx tensor),原来统一使用 srcOffset;现在均改为 srcRowsOffset * dim0stride,使得每个 tensor 的源地址偏移都基于其自身的 dim0stride 计算。

  • 代码格式化调整:对 CopyInNoSplitDim1ComputeNoSplitDim1CopyComputeSplitDim1CopyCopyInSingleTensorSetCopyInparam 等函数的声明和调用进行了换行与缩进统一,无行为变更。

likedislike
atomgit-bot
atomgit-bot
7月7日 评论:

代码审查

✅ 未发现问题

likedislike
CANN-robotCANN-robot成员
7月7日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
7月7日 评论:

CLA Signature Pass

wuchengming123, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
CANN-robot
CANN-robot成员
7月7日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here
You can get sig-info at here


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
** gcw_kUomxQ2l, wangrui_ (2/2) gcw_kUomxQ2l (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)
likedislike
CANN-robotCANN-robot成员
7月7日 将zhou-qilong,wangrui_,rxtfeng,loov1,zhangzijie,jia0liang,songkai111,llimwang,gubaocheng,andong_hw,zhanw_coding,gcw_kUomxQ2l,Andy-lb设为评审人
CANN-robotCANN-robot成员
7月7日 将gcw_kUomxQ2l,Andy-lb设为审查人
wuchengming
7月7日 评论:

compile

likedislike
Wwuchengming
7月7日 update merge request[project id: 7649531, iid: 3882, commit_id: 7f0b26a8cb4ddeb201b4fc554334a89924ced2e4] virtual merging success
Wwuchengming
7月7日 修改了pull request 的描述
Wwuchengming
7月7日 修改标题为 “非连续场景下concat算子部分模板偏移地址计算问题修复”,原标题为“fix(concat): non-contiguous tensor srcOffset uses per-tensor dim0stride”
CANN-robotCANN-robot成员
7月7日 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
7月7日 评论:

流水线任务触发成功
任务链接 [6e90f5b38c0d42c1a4ee56cb83d07ce8][流水线指导]

任务名称状态日志下载链接
pre_comment ✅ SUCCESS >>>>>
Compile_harmony-infer ✅ SUCCESS >>>>>
Compile_X86_monitor_910b ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_910c ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_950 ✅ SUCCESS >>>>> >>>>>
Compile_harmony-infer-chs-math ✅ SUCCESS >>>>>
Compile_kirin-harmony-infer-chs-math-1 ✅ SUCCESS >>>>>
UT_Test ✅ SUCCESS
UT_Test_experimental ✅ SUCCESS
UT_Test_kernel ✅ SUCCESS
PreSmoke_A900 ✅ SUCCESS >>>>>
PreSmoke_ATK_Test_A2 ✅ SUCCESS >>>>>

[2026-07-07 19:41:28]    CI执行结束

likedislike
CANN-robot
CANN-robot成员
7月7日 评论:

流水线任务触发成功
任务链接 [a8bd0ac117b9411f81e60693f8409ac6][流水线指导]

任务名称状态日志下载链接
codecheck ✅ SUCCESS >>>>>
SCA ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
codecheck_Pr ✅ SUCCESS
StaticCheck_codespell_check ✅ SUCCESS
StaticCheck_link_validity_check ✅ SUCCESS
StaticCheck_resource_existence_check ✅ SUCCESS
StaticCheck_tag_closed_check ✅ SUCCESS
StaticCheck_markdownlint ✅ SUCCESS
codecheck_codestyle ✅ SUCCESS >>>>>
codecheck_precommit ⚠️ WARNING >>>>> >>>>>

[2026-07-07 19:37:48]    CI执行结束

likedislike
CANN-robotCANN-robot成员
7月7日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
7月7日 添加了label:ci-pipeline-passed
liulun0308成员
7月7日 评论:

/approve

likedislike
CANN-robotCANN-robot成员
7月7日 添加了label:approved
Wwuchengming
7月8日 修改了pull request 的描述
RuiWang_成员
7月8日 评论:

/approve

likedislike
CANN-robot
CANN-robot成员
7月8日 评论:

The following users do not have permission to comment /lgtm or /approve on any module in this PR:
wangrui_

likedislike
RuiWang_成员
7月8日 评论:

/lgtm

likedislike
CANN-robotCANN-robot成员
7月8日 添加了label:lgtm
CANN-robotCANN-robot成员
7月8日 关闭了关联的issue
CANN-robotCANN-robot成员
7月8日 合入了pull request