CANN/ops-math Polar内广播优化
Polar inner-broadcast 性能优化方案 A【免费下载链接】ops-math本项目是CANN提供的数学类基础计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-math2026-05-21。本轮针对 acceptance 50-case 中唯一性能不达 baseline 的两个 caseTest_036 / Test_044 做 angle inner-broadcast 专用优化从输基线 0.8x 反超到 1.7-3.5x并使所有 angle 周期广播 case 普遍 ~2x 提速。1. 问题定位测试口径pybind EXEC_NPU_CMD(aclnnPolar)msprof op_summary Task Duration每调用设备时50 次取中位。 baseline torch.polarNPU 内置Sin/Cos/Mul/Complex 基础算子拼接。优化前全 50 case 仅这两个输基线Caseinput × angleout 元素优化前 oursbaselinevs baseTest_036[256,256,64] ×[64]4M168.8 µs147.2 µs0.87x❌Test_044[128,128,512] ×[512]8M331.4 µs276.6 µs0.83x❌根因这两个是 angle 为 input trailing-dim 的周期重复 广播。原实现在 op_api 层用BroadcastTo把 angle 物理展开到 out shape同 shape kernel 要求于是Test_036先写 16 MBangle 展开→ kernel 再读 input 16 MB 读展开后 angle 16 MB 写 out 32 MB 80 MB HBMbaseline 用 viewstride0读 angle省掉展开的一次 HBM 写故反而更快。2. 方案 Ainner-broadcast 周期 pre-computekernel 内运行时分支无 tilingKey核心观察angle 周期长度 K angle.numel每个 tile 取整数个 period →cos/sin tile pattern 对所有 tile 完全相同。实现三处资格判定严格一致op_api / op_host tiling / pybind资格 inNoutN anNinN inN%anN0 anN2048 anN%80op_api (aclnn_polar.cpp)资格命中时 angle不 BroadcastTo保留原 shape [K] 传 kernelop_host (polar_tiling.cpp)识别bcastMode1按K-block 分核每核负载 K 整数倍 → tile 起点 period 对齐op_kernel (polar.h)Process()内if(bcastMode1)分支纯 data 字段无需多 kernel 注册PrecomputeBcastCosSin()读 angle[0:K] → Cos/Sin 得 cosT/sinT[K] → 循环 mT/K 次 broadcast 填满 常驻 buffercosTile[0:T] / sinTile[T:2T]只做一次ProcessTileBcast()main loop只读 input→Mul(cosTile,input)→real /Mul(sinTile,input)→imag → Gather 交织 → 写 out。无 angle 搬运、无每 tile Sin/Cos 重算。HBM/算力收益Test_036, 4M80 MB →48 MB省 angle 展开 16 MB angle 读 16 MB→256 B Sin/Cos 从每 tile 重算降到一次 precompute。⚠️ 实现陷阱DataCopy(srcStride0)不是重复同段 broadcast——它连续读 src会把 cosT 之后的 sinT 读进第二 period症状npu.realgolden.imag。正解是把 broadcast 提到 Precompute 一次性循环填满。3. 优化结果关注的两个 case从输基线反超CaseK优化前优化后kernel 提速baselinevs base 前→后Test_03664168.842.14.0x147.20.87x →3.50xTest_044512331.4161.92.0x276.60.83x →1.71x其它 angle 周期广播 case顺带普遍 ~2xCaseout 元素K优化前优化后baselinevs baseTest_035262K6417.615.754.73.47xTest_03716M646543217652.38xTest_03867M642595126133402.65xTest_039134M325181253167712.67xTest_040268M16103545144136332.65xTest_041537M82070110287273612.66xTest_047134M85181258167842.63xTest_04833M32130164116392.56x未启用优化K1/2/4 不满足 32B 对齐走 same-shape 兜底的 Test_042/045/046因规模大268-537M baseline 同为 HBM boundsame-shape 已 1.31-1.47x 胜基线无需再优化。全 50-case 结论无一输基线类别case加速比小同 shape (1-12)same-shape2.5-3.4x大同 shape (13-29)same-shape2.5-3.1x小广播 (30-34, K8)same-shape 兜底3.2-5.3x大广播 (35-50)bcast 资格 ~2x kernel 提速非资格规模大也胜1.3-3.5x4. 官方 AscendOpTest 验证ops-math 工程customize_math vendorpython run_test.py -i .../acceptance/op.json -c Test_036,Test_044 \ --op-type custom --op-path $ASCEND_OPP_PATH/vendors/customize_math/op_api --build结果result.csvcasecompare_resultTest_036passTest_044pass精度判据 err_threshold[1e-3, 1e-3]官方工具确认数值正确。5. 改动文件ops-mathop_kernel/polar_tiling_data.hinN/anN/bcastModeop_host/polar_tiling.cppinner-bcast 检测 K-block 分核op_kernel/polar.hProcess()分支 PrecomputeBcastCosSin()ProcessTileBcast()op_api/aclnn_polar.cpp资格命中时 angle 不 BroadcastToop_api/polar.cpp注释更正同 shape 与非 inner-bcast 广播路径中间轴 / input 侧广播如 Test_043/049/050行为不变由 same-shape kernel op_api BroadcastTo 兜底。【免费下载链接】ops-math本项目是CANN提供的数学类基础计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-math创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

抖音无水印下载神器:3分钟搞定批量下载,免费简单又高效

抖音无水印下载神器:3分钟搞定批量下载,免费简单又高效

抖音无水印下载神器:3分钟搞定批量下载,免费简单又高效 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fa…

2026/7/10 20:28:14 阅读更多 →
GLM-5.2-speculator.dspark性能深度解析:实测3.967平均接受长度背后的技术突破

GLM-5.2-speculator.dspark性能深度解析:实测3.967平均接受长度背后的技术突破

GLM-5.2-speculator.dspark性能深度解析:实测3.967平均接受长度背后的技术突破 【免费下载链接】GLM-5.2-speculator.dspark 项目地址: https://ai.gitcode.com/hf_mirrors/RedHatAI/GLM-5.2-speculator.dspark 在大型语言模型推理加速领域,GLM-…

2026/7/10 20:26:14 阅读更多 →
茉莉花插件:Zotero中文文献管理的终极免费解决方案

茉莉花插件:Zotero中文文献管理的终极免费解决方案

茉莉花插件:Zotero中文文献管理的终极免费解决方案 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 如果你正在使用Zot…

2026/7/10 20:24:14 阅读更多 →

最新新闻

从代码到图表:Mermaid Live Editor如何让技术文档“活“起来

从代码到图表:Mermaid Live Editor如何让技术文档“活“起来

从代码到图表:Mermaid Live Editor如何让技术文档"活"起来 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/merma…

2026/7/10 21:05:23 阅读更多 →
Qbot量化交易框架:模块化架构与AI驱动的投研系统设计

Qbot量化交易框架:模块化架构与AI驱动的投研系统设计

Qbot量化交易框架:模块化架构与AI驱动的投研系统设计 【免费下载链接】Qbot [🔥updating ...] AI 自动量化交易机器人(完全本地部署) AI-powered Quantitative Investment Research Platform. 📃 online docs: https://ufund-me.github.io/Qb…

2026/7/10 21:05:23 阅读更多 →
5步深度定制:解锁daily_stock_analysis的高级配置潜能

5步深度定制:解锁daily_stock_analysis的高级配置潜能

5步深度定制:解锁daily_stock_analysis的高级配置潜能 【免费下载链接】daily_stock_analysis LLM 驱动的多市场股票智能分析系统:多源行情、实时新闻、决策看板与自动推送,支持零成本定时运行。 LLM-powered multi-market stock analysis sy…

2026/7/10 21:05:23 阅读更多 →
动态激活量化vs静态权重量化:Qwen3.5-397B-A17B-MoE-MXFP4量化策略深度解析

动态激活量化vs静态权重量化:Qwen3.5-397B-A17B-MoE-MXFP4量化策略深度解析

动态激活量化vs静态权重量化:Qwen3.5-397B-A17B-MoE-MXFP4量化策略深度解析 【免费下载链接】Qwen3.5-397B-A17B-MoE-MXFP4 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Qwen3.5-397B-A17B-MoE-MXFP4 在AI模型部署领域,量化技术已成为降低…

2026/7/10 20:58:58 阅读更多 →
如何集成Cosmos3-Nano-Policy-DROID到现有机器人系统:API接口与SDK使用

如何集成Cosmos3-Nano-Policy-DROID到现有机器人系统:API接口与SDK使用

如何集成Cosmos3-Nano-Policy-DROID到现有机器人系统:API接口与SDK使用 【免费下载链接】Cosmos3-Nano-Policy-DROID 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/Cosmos3-Nano-Policy-DROID Cosmos3-Nano-Policy-DROID是一款先进的机器人策略模型…

2026/7/10 20:58:58 阅读更多 →
Mac Mouse Fix:为什么你的普通鼠标在macOS上总是不顺手?这个免费开源工具能解决所有痛点

Mac Mouse Fix:为什么你的普通鼠标在macOS上总是不顺手?这个免费开源工具能解决所有痛点

Mac Mouse Fix:为什么你的普通鼠标在macOS上总是不顺手?这个免费开源工具能解决所有痛点 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac…

2026/7/10 20:56:57 阅读更多 →

日新闻

STM32与LTC1864高精度ADC的SPI通信实现

STM32与LTC1864高精度ADC的SPI通信实现

1. 项目背景与核心需求在工业控制和嵌入式系统开发中,模拟信号与数字系统的无缝集成一直是工程师面临的关键挑战。LTC1864作为一款16位高精度ADC转换器,配合STM32F101ZG这类主流微控制器,能够构建高性能的模拟信号采集系统。这种组合特别适合…

2026/7/10 0:03:07 阅读更多 →
猫抓插件:浏览器资源嗅探与视频下载的终极解决方案

猫抓插件:浏览器资源嗅探与视频下载的终极解决方案

猫抓插件:浏览器资源嗅探与视频下载的终极解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为网页视频无法下载而烦恼吗&am…

2026/7/10 0:05:09 阅读更多 →
直流有刷电机驱动方案:TC78H653FTG与MKV46F256VLH16应用

直流有刷电机驱动方案:TC78H653FTG与MKV46F256VLH16应用

1. 直流有刷电机驱动方案概述在工业自动化和消费电子领域,直流有刷电机因其结构简单、控制方便、成本低廉等优势,仍然是许多应用场景的首选驱动方案。TC78H653FTG作为东芝推出的新一代H桥驱动器,与MKV46F256VLH16微控制器配合使用&#xff0c…

2026/7/10 0:05:09 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/10 19:03:29 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/9 13:46:46 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/9 21:41:05 阅读更多 →

月新闻