【AscendC】ReduceSum中指定workLocal大小时如何计算

参考官方文档,但其中对于workLocal大小的计算只是以代码注释的方式给出,不具有直观性,现在结合两个官方例子进行推导。

首先注意到api的调用,分为高维切分模式和指定数量模式,两种模式的计算是不同的,主要在于repeattimes这个变量的大小。

高维切分的例子见上图,可以看到结果是80.

结合图1进行分析,首先数据类型为half类型,所以elementsPerBlock为16,而repeatTime的计算是通过srcDataSize / mask, 也即8320 / 128 = 65。

进行上取整得到的结果是65 + 15 / 16 = 5, 5 * 16 = 80。所以最终结果为80。

对于指定数量n的模式,见下图:

此处指定的srcDataSize是288,由图1的注释,

// 此处需要注意:对于tensor高维切分计算接口,firstMaxRepeat就是repeatTimes;对于tensor前n个数据计算接口,firstMaxRepeat为count/elementsPerRepeat,比如在half类型下firstMaxRepeat就是count/128,在float类型下为count/64,按需填入,对于count<elementsPerRepeat的场景,firstMaxRepeat就是1

可以看到 firstMaxRepeated = 288 / 128 = 1。

因此得到的结果就是(1+ 15) / 16 * 16 = 16.

相关推荐
Am-Chestnuts15 小时前
DeepSeek表格复制到Word变竖线错列?用DS随心转对比几种整理方法
人工智能·word·ds随心转
55873 生态系统15 小时前
013+【架构实战】55873 智慧生活:如何让生命更有价值、更有意义?—— 四大生命价值维度设计全解
人工智能·55873全域文明生态体系·55873操作系统·全域文明生态系统·55873智慧生活
小小程序猴115 小时前
中小企业AI转型课程模块的工程化设计:从能力矩阵到课程编排
大数据·人工智能
别动我齐刘海15 小时前
ROS2 Jazzy + C++ 实战路线——ros2_control
c++·人工智能·python·opencv·机器学习·机器人·github
lisw0515 小时前
智能客服:运行机制、效用与发展展望!
人工智能·ai智能体
Aloudata15 小时前
语义层和SQL Copilot:一个降低写SQL门槛,一个统一业务逻辑
大数据·人工智能·数据分析·data agent·语义层
墨林陌15 小时前
AI 热点日报(2026-09-22):AMD市值首破万亿美元,阶跃星辰发布600B开源模型
人工智能
金融小师妹15 小时前
AI金融能力评估:18个主流模型金融问题平均错误率达57%
人工智能·云计算·逻辑回归·深度优先
爱吃提升15 小时前
文生视频核心
人工智能·音视频