news 2026/5/10 10:00:35

catlass ASWT策略说明

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
catlass ASWT策略说明

Adaptive Sliding Window Tiling策略说明

【免费下载链接】catlass本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass

ASWT(Adaptive Sliding Window Tiling)策略决定了基本块的分核情况和计算顺序。与Swizzle类似,ASWT采用了S形滑窗机制来提高L2缓存命中率、减小数据读取开销。特别地,当基本块总数无法均分给每一个AI Core时,ASWT会对剩余基本块进一步切分,使其尽可能平均分配给每一个AI Core,达到负载均衡。

下方展示了ASWT策略。图中每一个方块表示C矩阵的一个基本块,方块中的序号代表AI Core的编号(该示例中假设AI Core数量为20)。按照S形滑窗顺序将基本块依次分配给AI Core进行处理,最后还剩9个基本块,无法均分给20个AI Core。为使每一个AI Core尽可能负载均衡,提升数据并行效率,对剩余的9个基本块进行切分,使得切分后的块数(18块)至少能够分配给AI Core总数的一半以上。

适用场景

假设左矩阵shape为(m, k),右矩阵shape为(k, n),C矩阵上的基本块大小为(baseM, baseN),则基本块的总个数tileNum:

$$\mathrm{tileNum = Ceil(\mathrm{m, baseM}) * Ceil(n, baseN)}$$

当基本块个数无法均分给所有AI Core,且剩余基本块个数不足AI Core总数的一半,即:

$$ \mathrm{tileNum \space % \space coreNum <= \frac{coreNum}{2} }$$

其中,coreNum表示使用的AI Core总核数。

此时,采用ASWT分核策略对基本块进行切分,使其尽可能均匀地分配给更多的AI Core,能够提升数据并行效率。

性能收益

在使用相同的tileShape和数据类型情况下,使用ASWT相较于使用Swizzle,basic_matmul的性能对比如下表。

[M, N, K]basic_matmul_swizzlebasic_matmul_aswt加速比
[1024, 1024, 1024]14.95us15.08us0.99
[2048, 2048, 256]11.95us12.09us0.99
[2208, 2048, 512]22.07us18.65us1.18
[2208, 2048, 1024]38.15us30.51us1.25
[1024, 2368, 512]16.02us12.00us1.34
[1024, 2368, 1024]26.18us19.82us1.32
[1024, 2368, 2048]45.88us34.25us1.34

说明

  • basic_matmul_swizzle表示使用Swizzle策略的basic_matmul。
  • basic_matmul_aswt表示使用ASWT策略的basic_matmul。
  • L1TileShape: [256, 256, 128]
  • L0TileShape: [256, 256, 64]
  • 输入A、B矩阵的数据类型为half,输出C矩阵的数据类型为float。

【免费下载链接】catlass本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 9:53:37

如何用Untrunc视频修复工具拯救你的珍贵记忆:完整免费指南

如何用Untrunc视频修复工具拯救你的珍贵记忆&#xff1a;完整免费指南 【免费下载链接】untrunc Restore a damaged (truncated) mp4, m4v, mov, 3gp video. Provided you have a similar not broken video. 项目地址: https://gitcode.com/gh_mirrors/unt/untrunc 你是…

作者头像 李华
网站建设 2026/5/10 9:48:47

OpenClaw 用户如何配置 Taotoken 作为其模型供应商

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 OpenClaw 用户如何配置 Taotoken 作为其模型供应商 对于使用 OpenClaw 这类智能体开发工具的开发者而言&#xff0c;接入一个稳定、…

作者头像 李华
网站建设 2026/5/10 9:48:42

CSV转Parquet:Node.js智能转换工具的设计原理与实战指南

1. 项目概述与核心价值如果你经常和数据打交道&#xff0c;尤其是处理那些从各种系统导出的、格式五花八门的CSV文件&#xff0c;那你一定对数据清洗和格式转换的繁琐深有体会。CSV文件虽然通用&#xff0c;但它在存储效率、类型安全和查询性能上存在天然的短板。最近我在一个数…

作者头像 李华