CANN/ge ACL GEMM API迁移示例

发布时间:2026/9/10 20:49:19

CANN/ge ACL GEMM API迁移示例 ACL GEMM API Migration Sample【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/geFunction DescriptionDemonstrates how toreplace deprecated ACLBLAS and ACLOP APIs with ACLNN APIs. Uses the GEMM (General Matrix Multiply) operator to compare equivalent implementations across three ACL API families, helping developers understand the migration workflow.APIStatusInvocationaclblasGemmExDeprecatedExecute GEMM via ACLBLAS interfaceaclopExecuteV2(GEMM)DeprecatedInvoke GEMM operator via ACLOP interfaceaclnnMatmulaclnnMulsaclnnAddRecommendedCompose atomic ACLNN operationsThe sample runs the same input data through all three APIs sequentially, automatically compares precision, and outputsmax_error.GEMM FormulaC α·A·B β·CParameterValueDescriptionM64Rows of A / Rows of CN64Columns of B / Columns of CK64Columns of A / Rows of Balpha2.0Scale factor for matmul resultbeta2.0Scale factor for original CData typeFP16All matrices and scalars use FP16ACLNN API combination: ACLNN APIs are closer to atomic operator operations, requiring GEMM to be decomposed into:aclnnMatmul→A BaclnnMuls→alpha × (A B)andbeta × CaclnnAdd→ sum the two partsQuick Startbash scripts/build.sh bash scripts/run.shDirectory Structure4_sample_acl_gemm/ ├── CMakeLists.txt # Top-level build script ├── scripts/ │ ├── build.sh # Build script │ └── run.sh # Run script └── src/ ├── CMakeLists.txt # Build configuration └── sample_acl_gemm.cpp # Main program (three-API comparison)Environment RequirementsInstalltoolkitandopspackages per Environment PreparationSet environment variables:source /usr/local/Ascend/cann/set_env.sh(adjust path to your installation)(Optional) Specify chip version:export SOC_VERSIONAscend910B3(defaults toAscend910B3if not set)Detailed StepsStep 1: Buildbash scripts/build.shStep 2: Runbash scripts/run.shExpected Output[INFO] ACL GEMM sample starts [INFO] Running ACLBLAS GEMM... [INFO] Running ACLOP GEMM... [INFO] Running ACLNN GEMM... [INFO] Comparing results... max_error: 0 [INFO] VERIFICATION PASSED [INFO] SAMPLE PASSEDFAQQ: Build fails with missing ACLNN header filesMake sure you have runsource /usr/local/Ascend/cann/set_env.shand that your installed toolkit version includes ACLNN APIs.Q: max_error is not zeroSmall errors may occur under FP16 precision. If max_error is small (e.g., 1e-3), it is a normal floating-point error. If it is large, check whetherSOC_VERSIONmatches your current chip.Q: How to migrate my own ACLOP code to ACLNN?Follow the ACLNN implementation pattern insample_acl_gemm.cpp: first callaclnnXxxGetWorkspaceSizeto obtain the workspace size, then callaclnnXxxto execute the operation.【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/10 20:49:19

微信小程序阅读管理系统实战:从登录态到阅读器全解析

去年帮一个学弟把“基于微信小程序实现微信阅读网站管理系统”这个题目从零做到了答辩通过,前后花了三周。这期间踩了不少坑,也把微信小程序从登录到渲染的整套流程摸了一遍。这个题目看起来简单,其实“阅读网站管理系统”这几个字背后的工作…

2026/9/10 20:49:19

CANN/ge图引擎概念原理

概念原理 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的…

2026/9/10 21:44:28

Simulink风电场无功控制建模与仿真实践

1. 项目背景与核心挑战小型风电场接入无限电网时,无功功率控制是确保系统稳定运行的关键技术。不同于传统发电机组,风力发电具有间歇性和波动性特点,这使得电网电压调节面临新的挑战。在Simulink环境下搭建仿真模型,能够有效验证控…

2026/9/10 21:44:28

ACSL-7210-06RE光耦特性与高速隔离通信设计

1. ACSL-7210-06RE光耦器件的基本特性解析ACSL-7210-06RE是一款采用CMOS工艺制造的双通道双向高速光耦合器,在现代工业自动化和通信系统中扮演着关键角色。这款器件最显著的特点是能够在两个独立通道上实现双向信号隔离传输,数据传输速率可达10Mbps&…

2026/9/10 21:44:28

白名单执念:为什么总有人想申请免验证

白名单执念:为什么总有人想申请免验证 每隔一段时间就会出现的提问,格式高度统一: 「有没有办法让千牛不弹验证?」「申请白名单要什么条件?」「听说充钱到多少级就不验证了?」——每隔一阵就出现的统一提问…

2026/9/10 21:44:28

电商运营的一天:一条验证码时间线的全记录

电商运营的一天:一条验证码时间线的全记录 一位运营把自己某天的验证码遭遇记成了流水账,看完只想递纸巾: 「8:47改价弹滑块;10:12巡检弹点选;13:05午休回来第一件事补验证;16:40批量改库存,弹…

2026/9/10 16:39:38

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码