【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.

相关推荐
m4Rk_3 小时前
【论文阅读】Agent 记忆机制(83):Inside Out——用可演化 PersonaTree 构建 Agent 的核心长期记忆
论文阅读·人工智能·学习·开源·github
运行时异常3 小时前
【WMS 仓储系统集成 AI Agent 实战】第 8 讲(终篇):生产部署与并发安全——Semaphore 放进 Flux.defer 的坑,压测抓了一晚上
人工智能·安全
杨杨杨大侠3 小时前
Jev、Kev、Laya:决策模型怎么选,什么时候需要微调?
人工智能·python·agent
代码方舟4 小时前
零信任架构实战:基于天远人企关联构建自动化供应链金融网关
运维·人工智能·架构·自动化
虹科网络安全4 小时前
“顶会”看安全(十八):超越越狱:揭示由能力边界模糊引发的 LLM 应用安全风险
人工智能·安全
Maiko Star4 小时前
* LangChain 提示词模板详解:ChatPromptTemplate 的使用与高级特性
java·人工智能·langchain
鬓戈4 小时前
Rust 语言与 AI 应用生态调研及学习路径
人工智能·学习·rust
天远API4 小时前
零信任架构实战:基于天远人企关联构建自动化图谱网关
网络·人工智能·架构·自动化
爱吃提升4 小时前
文生视频模型发展趋势(2026)
人工智能·音视频
AIGS0015 小时前
什么是本体语义平台?和知识图谱、传统数据中台的区别在哪
人工智能·知识图谱·数据中台·ai问数·本体语义平台·智能数据中台