文件最后提交记录最后更新时间
feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !298 merge reg-data-movement-guide into master feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 新增 Samples/1_Features/memory_optimization/reg_data_movement 样例集,提供 VF 内 UB↔寄存器数据搬运的场景选型指南与配套可运行示例: - 《Reg数据搬运场景选型指南.md》:覆盖常规(DIST_NORM)、升降位(UNPACK/PACK)、归约广播(BRC/FIRST_ELEMENT)、非连续(E2B/DATA_BLOCK_COPY/Gather)、特殊(DINTLV/INTLV、MaskDist、StoreUnAlign)五类模式,给出四维选型决策(排布/位宽/连续性/对齐)与模式对比表,统一使用 LoadAlign/StoreAlign/Gather 推荐接口 - src/scene1~scene10 共 10 个 <<<>>> 直调示例,逐一对应指南各模式,含尾块 mask、非对齐异常(507035)等边界验证 - images/ 9 张 SVG 示意图 - CMakeLists:注册 reg_data_movement 子目录,限定 NPU_ARCH=dav-3510 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/200 ## 测试 10 个示例在 Ascend 950 实机(CANN 9.1.0,cmake -DNPU_ARCH=dav-3510)逐个构建运行,实测输出已写入指南;scene1 覆盖 N=150 非整 VL 尾块路径,scene10 实测复现非对齐设备异常。 ## 文档更新 新增《Reg数据搬运场景选型指南.md》。 ## 类型标签 - [x] 新特性 - [x] 文档更新 See merge request: cann/cann-samples!29811 天前
feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !298 merge reg-data-movement-guide into master feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 新增 Samples/1_Features/memory_optimization/reg_data_movement 样例集,提供 VF 内 UB↔寄存器数据搬运的场景选型指南与配套可运行示例: - 《Reg数据搬运场景选型指南.md》:覆盖常规(DIST_NORM)、升降位(UNPACK/PACK)、归约广播(BRC/FIRST_ELEMENT)、非连续(E2B/DATA_BLOCK_COPY/Gather)、特殊(DINTLV/INTLV、MaskDist、StoreUnAlign)五类模式,给出四维选型决策(排布/位宽/连续性/对齐)与模式对比表,统一使用 LoadAlign/StoreAlign/Gather 推荐接口 - src/scene1~scene10 共 10 个 <<<>>> 直调示例,逐一对应指南各模式,含尾块 mask、非对齐异常(507035)等边界验证 - images/ 9 张 SVG 示意图 - CMakeLists:注册 reg_data_movement 子目录,限定 NPU_ARCH=dav-3510 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/200 ## 测试 10 个示例在 Ascend 950 实机(CANN 9.1.0,cmake -DNPU_ARCH=dav-3510)逐个构建运行,实测输出已写入指南;scene1 覆盖 N=150 非整 VL 尾块路径,scene10 实测复现非对齐设备异常。 ## 文档更新 新增《Reg数据搬运场景选型指南.md》。 ## 类型标签 - [x] 新特性 - [x] 文档更新 See merge request: cann/cann-samples!29811 天前
feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !298 merge reg-data-movement-guide into master feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 新增 Samples/1_Features/memory_optimization/reg_data_movement 样例集,提供 VF 内 UB↔寄存器数据搬运的场景选型指南与配套可运行示例: - 《Reg数据搬运场景选型指南.md》:覆盖常规(DIST_NORM)、升降位(UNPACK/PACK)、归约广播(BRC/FIRST_ELEMENT)、非连续(E2B/DATA_BLOCK_COPY/Gather)、特殊(DINTLV/INTLV、MaskDist、StoreUnAlign)五类模式,给出四维选型决策(排布/位宽/连续性/对齐)与模式对比表,统一使用 LoadAlign/StoreAlign/Gather 推荐接口 - src/scene1~scene10 共 10 个 <<<>>> 直调示例,逐一对应指南各模式,含尾块 mask、非对齐异常(507035)等边界验证 - images/ 9 张 SVG 示意图 - CMakeLists:注册 reg_data_movement 子目录,限定 NPU_ARCH=dav-3510 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/200 ## 测试 10 个示例在 Ascend 950 实机(CANN 9.1.0,cmake -DNPU_ARCH=dav-3510)逐个构建运行,实测输出已写入指南;scene1 覆盖 N=150 非整 VL 尾块路径,scene10 实测复现非对齐设备异常。 ## 文档更新 新增《Reg数据搬运场景选型指南.md》。 ## 类型标签 - [x] 新特性 - [x] 文档更新 See merge request: cann/cann-samples!29811 天前
feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !298 merge reg-data-movement-guide into master feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 新增 Samples/1_Features/memory_optimization/reg_data_movement 样例集,提供 VF 内 UB↔寄存器数据搬运的场景选型指南与配套可运行示例: - 《Reg数据搬运场景选型指南.md》:覆盖常规(DIST_NORM)、升降位(UNPACK/PACK)、归约广播(BRC/FIRST_ELEMENT)、非连续(E2B/DATA_BLOCK_COPY/Gather)、特殊(DINTLV/INTLV、MaskDist、StoreUnAlign)五类模式,给出四维选型决策(排布/位宽/连续性/对齐)与模式对比表,统一使用 LoadAlign/StoreAlign/Gather 推荐接口 - src/scene1~scene10 共 10 个 <<<>>> 直调示例,逐一对应指南各模式,含尾块 mask、非对齐异常(507035)等边界验证 - images/ 9 张 SVG 示意图 - CMakeLists:注册 reg_data_movement 子目录,限定 NPU_ARCH=dav-3510 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/200 ## 测试 10 个示例在 Ascend 950 实机(CANN 9.1.0,cmake -DNPU_ARCH=dav-3510)逐个构建运行,实测输出已写入指南;scene1 覆盖 N=150 非整 VL 尾块路径,scene10 实测复现非对齐设备异常。 ## 文档更新 新增《Reg数据搬运场景选型指南.md》。 ## 类型标签 - [x] 新特性 - [x] 文档更新 See merge request: cann/cann-samples!29811 天前
feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !298 merge reg-data-movement-guide into master feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 新增 Samples/1_Features/memory_optimization/reg_data_movement 样例集,提供 VF 内 UB↔寄存器数据搬运的场景选型指南与配套可运行示例: - 《Reg数据搬运场景选型指南.md》:覆盖常规(DIST_NORM)、升降位(UNPACK/PACK)、归约广播(BRC/FIRST_ELEMENT)、非连续(E2B/DATA_BLOCK_COPY/Gather)、特殊(DINTLV/INTLV、MaskDist、StoreUnAlign)五类模式,给出四维选型决策(排布/位宽/连续性/对齐)与模式对比表,统一使用 LoadAlign/StoreAlign/Gather 推荐接口 - src/scene1~scene10 共 10 个 <<<>>> 直调示例,逐一对应指南各模式,含尾块 mask、非对齐异常(507035)等边界验证 - images/ 9 张 SVG 示意图 - CMakeLists:注册 reg_data_movement 子目录,限定 NPU_ARCH=dav-3510 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/200 ## 测试 10 个示例在 Ascend 950 实机(CANN 9.1.0,cmake -DNPU_ARCH=dav-3510)逐个构建运行,实测输出已写入指南;scene1 覆盖 N=150 非整 VL 尾块路径,scene10 实测复现非对齐设备异常。 ## 文档更新 新增《Reg数据搬运场景选型指南.md》。 ## 类型标签 - [x] 新特性 - [x] 文档更新 See merge request: cann/cann-samples!29811 天前
refactor: Reg 数据搬运指南「按索引取数」改用 Arange 生成索引做逐 lane Gather Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !305 merge humanize/reg-data-movement-guide into master refactor: Reg 数据搬运指南「按索引取数」改用 Arange 生成索引做逐 lane Gather Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 将「Reg 数据搬运场景选型指南」中 scene7「按索引取数」示例从 DIST_E2B_B32(E2B 块广播)改为用 Arange 在寄存器内直接生成索引、由 Gather 逐 lane 离散收集。 旧实现 LoadAlign<uint32_t, DIST_E2B_B32> 把紧排 uint32 索引广播成「每索引一个 32B 块」,单轮仅消费前 8 个索引、块内 8 lane 重复同一索引值(out[8k..8k+7]=data[idx[k]]),输出是块重复而非逐 lane 离散收集,与「按索引取数」小节意图相悖、易误导读者,且需额外的 UB 索引缓冲与 E2B 展开。 新实现用 Arange<int32_t, DECREASE_ORDER> 在寄存器内直接生成倒序索引 idx[i]=63-i,Gather 逐 lane 寻址 out[i]=data[63-i],得到 data 的真正逆序拷贝(64 lane 各取各、互不重复),免去 UB 索引与 E2B 展开。 主要改动: - **src**:scene7_gather_e2b.ascscene7_gather_arange.asc,删除 idx 的 UB 缓冲/DataCopy/E2B,改用 Arange 生成索引;host 侧校验改为逐 lane out[i]==63-i。(注:Arange 不支持 uint32,需把 RegTensor<uint32_t> 引用强转为 RegTensor<int32_t> 调用) - **文档**:更新「非连续存取」章节标题与正文(去掉 E2B 描述)、按索引取数小节说明、实测输出与误区表(移除「按 64 索引规划单轮 E2B+Gather」一条),并做若干文字润色。 - **图**:更新 sel-decision-tree.svgsel-gather.svg(Gather 改为逐 lane 取数示意)。 - **构建**:CMakeLists.txt 场景目标名 scene7_gather_e2bscene7_gather_arange。 ## 关联的Issue - #205 ## 测试 scene7_gather_arange 示例 host 侧做逐元素校验:out[i] 应等于 data[63-i]=63-i,全部命中则打印 PASSED。 ## 文档更新 更新 Reg数据搬运场景选型指南.mdimages/ 下两张 SVG 配图。 ## 类型标签 - [x] 文档更新 - [x] 其他,请描述:示例代码重构(scene7 改用 Arange 逐 lane Gather) See merge request: cann/cann-samples!3057 天前
feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !298 merge reg-data-movement-guide into master feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 新增 Samples/1_Features/memory_optimization/reg_data_movement 样例集,提供 VF 内 UB↔寄存器数据搬运的场景选型指南与配套可运行示例: - 《Reg数据搬运场景选型指南.md》:覆盖常规(DIST_NORM)、升降位(UNPACK/PACK)、归约广播(BRC/FIRST_ELEMENT)、非连续(E2B/DATA_BLOCK_COPY/Gather)、特殊(DINTLV/INTLV、MaskDist、StoreUnAlign)五类模式,给出四维选型决策(排布/位宽/连续性/对齐)与模式对比表,统一使用 LoadAlign/StoreAlign/Gather 推荐接口 - src/scene1~scene10 共 10 个 <<<>>> 直调示例,逐一对应指南各模式,含尾块 mask、非对齐异常(507035)等边界验证 - images/ 9 张 SVG 示意图 - CMakeLists:注册 reg_data_movement 子目录,限定 NPU_ARCH=dav-3510 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/200 ## 测试 10 个示例在 Ascend 950 实机(CANN 9.1.0,cmake -DNPU_ARCH=dav-3510)逐个构建运行,实测输出已写入指南;scene1 覆盖 N=150 非整 VL 尾块路径,scene10 实测复现非对齐设备异常。 ## 文档更新 新增《Reg数据搬运场景选型指南.md》。 ## 类型标签 - [x] 新特性 - [x] 文档更新 See merge request: cann/cann-samples!29811 天前
feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !298 merge reg-data-movement-guide into master feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 新增 Samples/1_Features/memory_optimization/reg_data_movement 样例集,提供 VF 内 UB↔寄存器数据搬运的场景选型指南与配套可运行示例: - 《Reg数据搬运场景选型指南.md》:覆盖常规(DIST_NORM)、升降位(UNPACK/PACK)、归约广播(BRC/FIRST_ELEMENT)、非连续(E2B/DATA_BLOCK_COPY/Gather)、特殊(DINTLV/INTLV、MaskDist、StoreUnAlign)五类模式,给出四维选型决策(排布/位宽/连续性/对齐)与模式对比表,统一使用 LoadAlign/StoreAlign/Gather 推荐接口 - src/scene1~scene10 共 10 个 <<<>>> 直调示例,逐一对应指南各模式,含尾块 mask、非对齐异常(507035)等边界验证 - images/ 9 张 SVG 示意图 - CMakeLists:注册 reg_data_movement 子目录,限定 NPU_ARCH=dav-3510 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/200 ## 测试 10 个示例在 Ascend 950 实机(CANN 9.1.0,cmake -DNPU_ARCH=dav-3510)逐个构建运行,实测输出已写入指南;scene1 覆盖 N=150 非整 VL 尾块路径,scene10 实测复现非对齐设备异常。 ## 文档更新 新增《Reg数据搬运场景选型指南.md》。 ## 类型标签 - [x] 新特性 - [x] 文档更新 See merge request: cann/cann-samples!29811 天前
refactor: Reg 数据搬运指南「按索引取数」改用 Arange 生成索引做逐 lane Gather Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !305 merge humanize/reg-data-movement-guide into master refactor: Reg 数据搬运指南「按索引取数」改用 Arange 生成索引做逐 lane Gather Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 将「Reg 数据搬运场景选型指南」中 scene7「按索引取数」示例从 DIST_E2B_B32(E2B 块广播)改为用 Arange 在寄存器内直接生成索引、由 Gather 逐 lane 离散收集。 旧实现 LoadAlign<uint32_t, DIST_E2B_B32> 把紧排 uint32 索引广播成「每索引一个 32B 块」,单轮仅消费前 8 个索引、块内 8 lane 重复同一索引值(out[8k..8k+7]=data[idx[k]]),输出是块重复而非逐 lane 离散收集,与「按索引取数」小节意图相悖、易误导读者,且需额外的 UB 索引缓冲与 E2B 展开。 新实现用 Arange<int32_t, DECREASE_ORDER> 在寄存器内直接生成倒序索引 idx[i]=63-i,Gather 逐 lane 寻址 out[i]=data[63-i],得到 data 的真正逆序拷贝(64 lane 各取各、互不重复),免去 UB 索引与 E2B 展开。 主要改动: - **src**:scene7_gather_e2b.ascscene7_gather_arange.asc,删除 idx 的 UB 缓冲/DataCopy/E2B,改用 Arange 生成索引;host 侧校验改为逐 lane out[i]==63-i。(注:Arange 不支持 uint32,需把 RegTensor<uint32_t> 引用强转为 RegTensor<int32_t> 调用) - **文档**:更新「非连续存取」章节标题与正文(去掉 E2B 描述)、按索引取数小节说明、实测输出与误区表(移除「按 64 索引规划单轮 E2B+Gather」一条),并做若干文字润色。 - **图**:更新 sel-decision-tree.svgsel-gather.svg(Gather 改为逐 lane 取数示意)。 - **构建**:CMakeLists.txt 场景目标名 scene7_gather_e2bscene7_gather_arange。 ## 关联的Issue - #205 ## 测试 scene7_gather_arange 示例 host 侧做逐元素校验:out[i] 应等于 data[63-i]=63-i,全部命中则打印 PASSED。 ## 文档更新 更新 Reg数据搬运场景选型指南.mdimages/ 下两张 SVG 配图。 ## 类型标签 - [x] 文档更新 - [x] 其他,请描述:示例代码重构(scene7 改用 Arange 逐 lane Gather) See merge request: cann/cann-samples!3057 天前
feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !298 merge reg-data-movement-guide into master feat: 新增 Reg 数据搬运场景选型指南及 10 个可运行示例 Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 新增 Samples/1_Features/memory_optimization/reg_data_movement 样例集,提供 VF 内 UB↔寄存器数据搬运的场景选型指南与配套可运行示例: - 《Reg数据搬运场景选型指南.md》:覆盖常规(DIST_NORM)、升降位(UNPACK/PACK)、归约广播(BRC/FIRST_ELEMENT)、非连续(E2B/DATA_BLOCK_COPY/Gather)、特殊(DINTLV/INTLV、MaskDist、StoreUnAlign)五类模式,给出四维选型决策(排布/位宽/连续性/对齐)与模式对比表,统一使用 LoadAlign/StoreAlign/Gather 推荐接口 - src/scene1~scene10 共 10 个 <<<>>> 直调示例,逐一对应指南各模式,含尾块 mask、非对齐异常(507035)等边界验证 - images/ 9 张 SVG 示意图 - CMakeLists:注册 reg_data_movement 子目录,限定 NPU_ARCH=dav-3510 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/200 ## 测试 10 个示例在 Ascend 950 实机(CANN 9.1.0,cmake -DNPU_ARCH=dav-3510)逐个构建运行,实测输出已写入指南;scene1 覆盖 N=150 非整 VL 尾块路径,scene10 实测复现非对齐设备异常。 ## 文档更新 新增《Reg数据搬运场景选型指南.md》。 ## 类型标签 - [x] 新特性 - [x] 文档更新 See merge request: cann/cann-samples!29811 天前