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

相关推荐
吴名氏.17 分钟前
Java转AI Agent教程(第五周)Prompt工程
java·人工智能·prompt·ai agent
合天网安实验室17 分钟前
从压缩到泄露:KV Cache Compression 的选择性失忆与系统提示词风险
人工智能·llm
spapient18 分钟前
scx:手写一个零依赖的查询感知上下文压缩器
人工智能
云和恩墨24 分钟前
数据库监控简史:从会回答到能交付——AI-DBA如何成为真正的数字同事
数据库·人工智能·dba
宋艳_AI应用开发25 分钟前
LangSmith 追踪实战:判断花 4.4 秒,回答花 1 秒,最后一句是"我无法访问"
人工智能
u13013027 分钟前
GitHub 热榜项目:日榜(2026-11-02)
人工智能·github
米小虾27 分钟前
Agent 省钱工程:七成的钱不是模型花掉的
人工智能·agent
丘山录28 分钟前
本地部署 LongCat-2.5,要 7 台机器我只有 4 台
人工智能·算法
张炳午30 分钟前
DeepSeek 开源 Super-agent 原型拆解:授权链怎么设计、实验怎么读、Watchdog 为什么没实装
人工智能
方方洛32 分钟前
ray教程-23-附录C-术语表
人工智能·分布式·机器学习