Closed
[Documentation|文档反馈]: concat compact 阈值与 transpose 分核注释和实现不一致 #3802
TangPCAdd on  21 days agoClosed at  21 days ago
TangPC
TangPCCollaborators
21 days ago Create

一、文档链接 (必填)

二、问题文档片段 (必填)

1. concat 分核注释(concat_tiling_arch35.cpp,GenTilingKey)

修改前:

// 判断是否可用 compact: 所有 tensor 的 dim1 < UINT32_MAX

修改后:

// 判断是否可用 compact: 所有 tensor 的 dim1 < INT32_MAX

💡 存在的问题(选填):实际判定常量为 COMPACT_THRESHOLD = std::numeric_limits<int32_t>::max(),注释写 UINT32_MAX 与实现不一致,易误导维护者。

2. transpose 小 shape 分核说明(transpose_tiling_arch35.cpp,CalcBlockSplitInfoForSmallShape)

修改前:

- 总元素 < coreNum:按元素数开核(每核 1 个元素)
- 否则:先取 ceil(向上对齐 128B)与 floor(向下对齐 128B)两个候选,
  若 floor×核数仍能容纳全部数据则直接开满核,否则用 ceil 对齐后的核数
  (ceilAlignFactor 比 floor 大 → 实际核数略少但每核数据对齐)

修改后:

- 总元素不足 128B 对齐量或不足 coreNum:只使用 1 核
- 否则:按 128B 向上对齐后的块长 ceilAlignFactor 开核,
  核数 = CeilDiv(totalElements, ceilAlignFactor)

💡 存在的问题(选填):原注释描述的 ceil/floor 双候选开核逻辑与实现不符;实现为 totalElements < alignElements || totalElements < coreNum_ 时单核,否则按 CeilAlign(totalElements / coreNum_, alignElements) 求块长并 CeilDiv 开核。

关联 PR:https://gitcode.com/cann/ops-math/pull/6493

likedislike
TangPCTangPCCollaborators
21 days ago Added label: documentation
TangPC
TangPCCollaborators
21 days ago Comments:
likedislike
CANN-robotCANN-robotCollaborators
21 days ago Assign pingchuantang as responsible person
CANN-robotCANN-robotCollaborators
21 days ago Close issue
CANN-robotCANN-robotCollaborators
21 days ago Added label: resolved