CANN/asc-devkit SIMD算子L2缓存优化
设置合理的L2 CacheMode【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit【优先级】高[!NOTE]说明 该性能优化指导适用于如下产品型号Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品【描述】L2 Cache常用于缓存频繁访问的数据其物理位置如下图所示L2 Cache的带宽相比GM的带宽有数倍的提升因此当数据命中L2 Cache时数据的搬运耗时会优化数倍。通常情况下L2 Cache命中率越高算子的性能越好在实际访问中需要通过设置合理的L2 CacheMode来保证重复读取的数据尽量缓存在L2 Cache上。L2 Cache访问的原理及CacheMode介绍数据通过MTE2搬运单元搬入时L2 Cache访问的典型流程如下数据通过MTE3或者Fixpipe搬运单元搬出时L2 Cache访问的典型流程如下从上面的流程可以看出当数据访问总量超出L2 Cache容量时AI Core会对L2 Cache进行数据替换。由于Cache一致性的要求替换过程中旧数据需要先写回GM此过程中会占用GM带宽旧数据写回后新的数据才能进入L2 Cache。开发者可以针对访问的数据设置其CacheMode对于只访问一次的Global Memory数据设置其访问状态为不进入L2 Cache这样可以更加高效的利用L2 Cache缓存需要重复读取的数据避免一次性访问的数据替换有效数据。设置L2 CacheMode的方法Ascend C基于GlobalTensor提供了SetL2CacheHint接口用户可以根据需要指定CacheMode。考虑如下场景构造两个Tensor的相加计算输入x、y和输出z的Shape均为(8192, 8192)。下文完整样例请参考设置合理L2 CacheMode样例。实现方案原始实现优化实现实现方法总数据量384MB其中x128MBy128MBz128MB。使用48个核参与计算按行方向切分6份列方向切分8份。x、y、z对应GlobalTensor的CacheMode均设置为CACHE_MODE_NORMAL需要经过L2 Cache需要进入L2 Cache的总数据量为384MB。总数据量384MB其中x128MBy128MBz128MB。使用48个核参与计算按行方向切分6份列方向切分8份。z对应的GlobalTensor的CacheMode设置为CACHE_MODE_NORMALx和y对应的GlobalTensor的CacheMode设置为CACHE_MODE_DISABLE。只将z设置为需要经过L2 Cache。需要进入L2 Cache的总数据量为128MB。示例代码xGm.SetGlobalBuffer((__gm__ half *)x startM * totalN startN, bufferSize); yGm.SetGlobalBuffer((__gm__ half *)y startM * totalN startN, bufferSize); zGm.SetGlobalBuffer((__gm__ half *)z startM * totalN startN, bufferSize);xGm.SetGlobalBuffer((__gm__ half *)x startM * totalN startN, bufferSize); yGm.SetGlobalBuffer((__gm__ half *)y startM * totalN startN, bufferSize); zGm.SetGlobalBuffer((__gm__ half *)z startM * totalN startN, bufferSize); // disable the L2 cache mode of x and y xGm.SetL2CacheHint(AscendC::CacheMode::CACHE_MODE_DISABLE); yGm.SetL2CacheHint(AscendC::CacheMode::CACHE_MODE_DISABLE);[!NOTE]说明 你可以通过执行如下命令行通过msOpProf工具获取上述示例的性能数据并进行对比。msopprof --launch-count2 --output./prof ./execute_add_op重点关注Memory.csv中的aiv_gm_to_ub_bw(GB/s)和aiv_main_mem_write_bw(GB/s)写带宽的速率。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Parabolic视频下载器架构解析:基于yt-dlp的跨平台下载解决方案技术实现

Parabolic视频下载器架构解析:基于yt-dlp的跨平台下载解决方案技术实现

Parabolic视频下载器架构解析:基于yt-dlp的跨平台下载解决方案技术实现 【免费下载链接】Parabolic Download web video and audio 项目地址: https://gitcode.com/GitHub_Trending/pa/Parabolic Parabolic是一款基于yt-dlp引擎的开源跨平台视频下载器&#…

2026/7/29 8:24:54 阅读更多 →
CANN稀疏矩阵乘实现指南

CANN稀疏矩阵乘实现指南

4:2稀疏矩阵乘 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.…

2026/7/30 6:28:28 阅读更多 →
AWS Service Operator 与 CloudFormation 集成:完整资源编排指南

AWS Service Operator 与 CloudFormation 集成:完整资源编排指南

AWS Service Operator 与 CloudFormation 集成:完整资源编排指南 【免费下载链接】aws-service-operator AWS Service Operator allows you to create AWS resources using kubectl. 项目地址: https://gitcode.com/gh_mirrors/aw/aws-service-operator AWS …

2026/7/29 22:21:35 阅读更多 →

最新新闻

从1家店到100家店:SD-WAN如何解决连锁企业多门店组网难题

从1家店到100家店:SD-WAN如何解决连锁企业多门店组网难题

近几年 , 连锁零售正在加速向跨区域经营发展。便利店、药店、餐饮、服饰门店往往从一个城市扩展到多个省份 , 门店数量从几十家增加到数百家。与此同时 , 收银系统、会员系统、库存同步、外卖平台、视频监控和电子价签都离不开稳定网络。网络一旦卡顿 , 影响的不只是上网体验 ,…

2026/7/30 19:08:57 阅读更多 →
Xiaomi Miloco实战指南:从零构建智能家居AI管家

Xiaomi Miloco实战指南:从零构建智能家居AI管家

Xiaomi Miloco实战指南:从零构建智能家居AI管家 【免费下载链接】xiaomi-miloco Xiaomi Miloco 项目地址: https://gitcode.com/gh_mirrors/xi/xiaomi-miloco 你是否想过拥有一个能够真正理解家庭环境、识别家庭成员、主动提供贴心服务的AI管家?X…

2026/7/30 19:08:57 阅读更多 →
多智能体系统时变编队控制与Matlab仿真实现

多智能体系统时变编队控制与Matlab仿真实现

1. 线性多智能体系统编队控制概述多智能体系统协同控制在无人机编队、智能交通、工业机器人等领域具有广泛应用价值。时变编队跟踪控制要求跟随者智能体在动态环境中保持与领航者的相对位置关系,同时适应外部干扰和系统参数变化。这个Matlab仿真项目完整实现了分布式…

2026/7/30 19:08:57 阅读更多 →
跨平台Lyra语音编解码器集成指南:高效部署与性能优化

跨平台Lyra语音编解码器集成指南:高效部署与性能优化

跨平台Lyra语音编解码器集成指南:高效部署与性能优化 【免费下载链接】lyra A Very Low-Bitrate Codec for Speech Compression 项目地址: https://gitcode.com/gh_mirrors/lyra3/lyra Lyra是一款基于生成式神经网络的低比特率语音编解码器,能够在…

2026/7/30 19:08:57 阅读更多 →
WMI 与 COM 滥用:无文件攻击的隐蔽通道

WMI 与 COM 滥用:无文件攻击的隐蔽通道

文章目录写在前面一、为什么说它们是“隐蔽通道”1.1 “无文件”到底无的是什么1.2 攻击者爱它们的五个理由1.3 和本系列前文的关系二、WMI 速成:蓝队必须懂的结构2.1 核心对象2.2 临时 vs 永久2.3 远程 WMI 怎么走路2.4 常用管理入口(合法)三…

2026/7/30 19:08:57 阅读更多 →
10分钟构建本地语音AI助手:Speech-to-Speech完全指南

10分钟构建本地语音AI助手:Speech-to-Speech完全指南

10分钟构建本地语音AI助手:Speech-to-Speech完全指南 【免费下载链接】speech-to-speech Build local voice agents with open-source models 项目地址: https://gitcode.com/GitHub_Trending/sp/speech-to-speech 想要在本地环境快速搭建一个功能完整的语音…

2026/7/30 19:07:57 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻