- 博客(27)
- 收藏
- 关注
原创 写一个昇腾NPU上的算子有多难?Ascend C算子开发实战全拆解
摘要:自定义算子主要用于昇腾NPU标准算子库无法满足的三种场景:新激活函数/损失函数、算子融合优化和特殊数据排布。AscendC是专为达芬奇架构设计的类C编程语言,通过分块处理、UB内存管理和向量化指令实现高效计算。开发流程包括编写算子、编译注册和在PyTorch中调用,性能调优需关注分块大小、双缓冲、向量化加载和数学简化。建议优先使用标准算子,仅在必要时开发自定义算子。(149字)
2026-05-23 17:18:21
447
1
原创 Runtime运行时:昇腾NPU上的“大管家“,它到底在管什么
摘要:Runtime在昇腾NPU上扮演执行引擎角色,负责将GE优化后的计算图转换为可执行任务序列并调度到硬件执行。其核心工作包括:1)资源管理,处理显存分配、多任务抢占和泄漏问题;2)任务调度,通过Stream机制实现算子并行执行;3)执行协调,优化Host与Device间的数据搬运。在多卡训练中,Runtime还需处理梯度同步等分布式任务。通过日志、性能分析和显存监控工具可有效调试Runtime相关问题。Runtime与GE的协同工作对充分发挥NPU性能至关重要。
2026-05-23 17:13:14
339
原创 opbase:CANN 所有算子的公共地基
CANN算子开发中,opbase作为基础库为所有算子仓库提供统一基础设施。它封装了Tensor描述、Buffer内存管理和Kernel注册等公共能力,使各算子库无需重复实现。通过定义标准数据类型系统和注册机制,opbase实现了算子间的无缝协作,简化了开发流程。开发者只需继承Operator基类并实现核心计算逻辑,即可快速构建新算子。这种架构设计显著提升了算子复用率和开发效率,是CANN算子生态的重要支撑。
2026-05-22 21:15:05
379
原创 hcomm:昇腾集群通信的底层原语
HCCL与hcomm构成昇腾分布式通信栈的两大核心组件,采用分层设计:HCCL负责高层集合通信算法(如AllReduce/AllGather的切分策略),hcomm实现底层Send/Recv原语。在LLaMA-70B训练中,140GB梯度通过Ring AllReduce优化为每卡35GB传输量,但通信仍占单步40%耗时。hcomm通过零拷贝技术省去Buffer搬运,将固定延迟降至10-15μs。推理场景下,8卡张量并行的Attention计算通过AllGather实现分片聚合,hcomm根据数据量自动选择R
2026-05-22 18:09:20
363
原创 CANN到底是什么?昇腾NPU上的“操作系统+发动机调校师“全拆解
CANN是昇腾NPU的软件栈,相当于CUDA+cuDNN+TensorRT的整合体,负责将AI模型高效运行在昇腾芯片上。它包含五层架构:AscendCL接口层、计算服务层(算子库)、编译层(图引擎GE)、执行层(Runtime)和基础驱动层。CANN的核心功能是模型翻译、执行调度和性能优化,比如动态图转静态图、算子融合等。开发者可通过PyTorch+torch_npu直接调用,或使用ATC工具生成离线模型。2025年CANN已全面开源,包含55个仓库,覆盖算子库、加速库等核心组件。理解CANN的三项核心功能
2026-05-21 22:48:23
378
原创 ops-transformer 仓库概览
ascend-transformer-boost(ATB)是 Transformer 加速库,它封装了 ops-transformer 的算子,提供更上层的 API。ops-transformer 是 CANN(昇腾异构计算架构)第二层——昇腾计算服务层的核心算子库之一。ops-transformer 的算子实现大量复用 opbase 的能力。类别,与 ops-math、ops-nn、ops-cv 等基础算子库并列。ATB 已经封装了 ops-transformer 的算子。
2026-05-19 21:34:22
350
原创 ops-transformer:让Transformer在昇腾NPU上跑得更快
Transformer 的核心是注意力机制,计算量是序列长度的平方级增长。在昇腾 NPU 上,要让 Transformer 跑得快,不能只靠框架层的自动优化。但框架自动生成的算子,往往不是最优的。比如 FlashAttention 这种算法,需要手工优化内存访问模式、算子融合策略,才能发挥 NPU 的算力。FlashAttention 算子的实现,就是精心设计数据搬运策略,让计算掩埋在数据传输的延迟里。要理解 ops-transformer 里的算子,得先搞懂 Transformer 的计算瓶颈在哪。
2026-05-19 21:23:08
297
原创 Flutter与原生交互进阶实战:复杂功能集成与性能优化全攻略
在上一篇《Flutter与原生交互深度实战》中,我们掌握了MethodChannel、EventChannel、BasicMessageChannel三种核心通道的基础用法,能够应对简单的原生能力调用场景。但在实际项目开发中,我们往往会遇到更复杂的需求:比如将原生地图、视频播放器等复杂控件嵌入Flutter页面、实现Flutter与原生的大文件传输、解决高频交互下的性能卡顿问题,甚至是Flutter与原生页面的相互跳转与数据通信。
2025-12-19 08:06:43
1017
原创 Flutter与原生交互深度实战:从基础通信到复杂功能集成全指南
在Flutter跨平台开发中,我们无法避免需要调用原生能力的场景:比如获取设备唯一标识、调用原生地图SDK、集成推送服务、访问本地硬件(摄像头、蓝牙)等。虽然Flutter提供了丰富的跨平台API,但面对复杂的原生功能,仍需通过“Flutter与原生交互”来实现。很多开发者在原生交互时会遇到各种问题:通信逻辑混乱、数据格式不兼容、内存泄漏、平台适配繁琐……尤其是同时涉及Android和iOS双平台时,容易出现“一端正常、一端报错”的情况。
2025-12-19 08:04:06
964
原创 Flutter状态管理深度实战:从入门到精通,选型与落地全指南
基于前文对开发、性能、安全及跨平台的全面覆盖,本次将聚焦鸿蒙Electron应用的“用户体验优化(UX)与商业化落地”,重点解决从技术实现到用户认可、商业变现的关键问题,提供可落地的体验设计与盈利方案。
2025-12-18 13:31:32
818
原创 Flutter性能优化深度实战:从卡顿到丝滑,全链路优化指南
抽象常见设备能力(摄像头、文件存储),不同系统通过统一协议提供能力服务,实现“远端能力本地调用”。// main/apis/abstract-capability.js 设备能力抽象接口// 获取摄像头列表async getCameras() { throw new Error('未实现摄像头列表获取');// 启动摄像头预览(返回流地址)async startPreview(cameraId) { throw new Error('未实现摄像头预览');// 列出远端文件。
2025-12-18 13:25:41
1267
原创 Flutter离线功能开发深度实战:从缓存设计到离线协同,打造无网络可用的高可用应用
考虑到之前已覆盖鸿蒙Electron应用的开发、调试与性能优化,本次将聚焦“安全开发”这一关键维度,结合鸿蒙系统安全特性与Electron安全机制,打造一篇覆盖全流程的安全开发指南。
2025-12-17 12:45:49
958
原创 Flutter热更新深度实战:从原理到落地,解决跨端更新痛点
Electron应用“重资源、高占用”的问题在鸿蒙桌面端更突出——启动慢、操作卡顿、内存溢出等问题直接影响用户体验。本文结合鸿蒙系统资源调度特性,从“启动优化、运行时优化、内存优化、分布式场景优化”四个维度,提供可量化效果的实战方案,每个策略均附代码示例与优化前后数据对比,让应用启动时间缩短60%+,内存占用降低40%+。
2025-12-17 12:40:57
1393
1
原创 Flutter工程化实战:从0到1搭建可扩展、高可用的团队协作架构
考虑到之前的文章均围绕鸿蒙Electron应用的核心功能展开,这次我将聚焦“调试与问题排查”这一实用场景,结合鸿蒙系统特性,为开发者提供一套可落地的调试方案。
2025-12-16 10:03:07
908
原创 Flutter与原生混合开发深度实战:从通信到架构,打通跨端协作壁垒
我将围绕鸿蒙Electron应用的“跨设备数据流转”核心场景,结合鸿蒙分布式软总线特性,打造一篇侧重“实战操作+场景落地”的技术文章,兼顾开发效率与功能实用性。鸿蒙分布式软总线是设备间通信的“高速通道”,负责设备发现、连接建立和数据传输;Electron则通过“主进程调用鸿蒙API+渲染进程处理UI交互”的模式,实现跨设备数据流转。核心优势:低延迟:基于软总线的直接通信,比传统网络传输延迟降低60%以上;高可靠:自动处理设备离线、重连等异常,保障数据传输完整性;零配置:同一账号下的设备自动发现,无需手动配置
2025-12-16 09:57:49
1151
原创 Flutter性能优化深度实战:从帧率卡顿到60fps流畅,底层原理+落地方案
桌面应用的本地数据(如用户配置、缓存信息)安全易被忽视,尤其在企业场景中,明文存储可能导致数据泄露。本文结合鸿蒙系统安全特性,为Electron应用提供“多场景存储方案+全程加密”的完整落地策略,涵盖配置文件、结构化数据、大文件缓存三种核心场景,代码可直接复用。
2025-12-15 23:20:21
903
原创 Flutter UI架构设计:从组件封装到跨端适配,打造可复用的高质量界面体系
桌面应用的“原生感”直接影响用户体验,而系统托盘与通知是核心交互入口。本文聚焦鸿蒙桌面端特性,通过实战案例讲解Electron应用如何适配鸿蒙系统托盘、自定义通知样式,并集成“后台运行”“快捷操作”等实用功能,代码简洁可直接复用。
2025-12-15 23:16:25
879
原创 鸿蒙Electron进阶:系统能力深度整合与性能优化实战
本文通过实战案例,展示了鸿蒙Electron应用在系统能力调用与性能优化方面的核心技巧,关键要点总结如下:通过DBus协议可直接对接鸿蒙系统服务,实现通知、网络等能力调用;启动优化、进程管理、代理适配是提升鸿蒙端体验的关键;打包配置需针对鸿蒙系统特性调整,重点解决权限和模块加载问题。
2025-12-14 14:02:12
1030
原创 鸿蒙 + Electron:跨端开发新范式,从环境搭建到实战开发
本文从鸿蒙与 Electron 的结合点出发,详细介绍了开发环境搭建、Hello World 应用、实战文件选择功能以及应用打包的全流程。通过 Electron,前端开发者可以快速上手鸿蒙桌面应用开发,充分复用现有技术栈,实现跨平台开发的高效性。
2025-12-11 15:37:32
1013
原创 昇腾 CANN 与 Ascend C 协同创新:算子开发的效率提升与技术演进
CANN 异构计算架构与 Ascend C 专用语言的协同创新,是昇腾生态算子开发效率提升的核心驱动力。从一体化工具链、简化编程模型到自动化优化,二者的深度协同让算子开发从 “硬件专家专属” 变为 “普通开发者可及”,大幅缩短了开发周期、提升了性能上限。未来,随着自动化、生态兼容、高阶能力的持续演进,CANN+Ascend C 将进一步降低开发门槛,覆盖更广泛的业务场景与硬件平台。
2025-12-11 15:19:45
843
原创 昇腾 CANN+Ascend C 深度协同:自定义算子开发的难点突破与最佳实践
线程模型理解不清:对 NPU 的线程分组(Block/Thread)、线程映射逻辑不熟悉,导致计算任务拆分不合理;内存操作不规范:混淆全局内存、局部内存、寄存器的使用场景,出现内存访问越界、数据拷贝低效等问题;同步指令使用不当:过度同步导致性能损耗,或同步缺失导致数据竞争。遵循 CANN 算子开发规范:严格按照《CANN 自定义算子开发指南》定义接口(输入输出格式、数据类型),避免因接口不规范导致框架调用失败;
2025-12-10 20:23:18
657
原创 昇腾 CANN 生态下 Ascend C 算子开发:从工程实现到量产落地的全流程指南
在昇腾 AI 异构计算体系中,Ascend C 算子是释放 NPU 算力的核心载体,而 CANN 架构则为算子提供了从编译、调度到部署的全链路支撑。对于企业级开发者而言,Ascend C 算子开发不仅要实现功能正确性,更要满足量产场景的性能、稳定性与兼容性要求。本文将围绕 “工程实现 - 性能调优 - 兼容性适配 - 量产验证” 四大核心环节,拆解 Ascend C 算子从开发到落地的完整流程,结合 CANN 生态工具链,提供可直接落地的实操方案。
2025-12-10 20:19:21
899
原创 新手入门华为昇腾:从课程详情页开启 AI 算力学习之路
华为昇腾的在线课程详情页,是新手进入 AI 算力领域的 “敲门砖”。对于新手而言,无需畏惧生态的复杂性,以课程学习为核心,联动文档、论坛、开源社区等配套资源,按阶段稳步推进,就能快速融入昇腾生态,实现从 “新手” 到 “合格开发者” 的蜕变。随着技术能力的提升,还能进一步对接昇腾的认证、合作资源,开启更广阔的职业发展空间。
2025-12-09 10:20:51
407
原创 登录页面背后的生态逻辑:华为昇腾的 “入口价值”
对于技术开发者与企业用户而言,华为昇腾的登录页面绝非简单的 “身份验证工具”,而是进入其全栈 AI 生态的 “核心入口”。这种分层管理模式,既保障了核心技术资源的安全(如涉密技术文档仅对授权企业开放),也能精准匹配不同用户的需求,提升资源利用效率与服务针对性 —— 而登录页面作为身份验证的 “第一道防线”,为这种分层管理提供了基础保障。技术类官网的核心用户是开发者、工程师、企业技术负责人等群体,这类用户更关注效率与实用性,对花哨的视觉设计需求较低。
2025-12-09 10:14:41
572
原创 从入门到认证:昇腾 Ascend C 算子开发的完整学习闭环
完成入门课程后,进阶课程将带领开发者深入自定义算子开发领域,同样获得 4.9 分的高口碑。核心学习内容:课程聚焦于自定义算子的开发逻辑与实际应用调用,具体包括复杂算子的需求分析、高性能算子的代码架构设计、自定义算子在深度学习框架中的注册与调用流程。课程还会结合 CV、LLM 等实际场景的算子开发案例,比如适配特定模型的卷积算子、注意力机制算子,让开发者掌握从算子开发到落地应用的全流程。课程优势。
2025-12-08 12:26:26
606
原创 昇腾 CANN 训练营:解锁 Cube 算子开发的核心秘籍
Cube 算子开发是深入昇腾底层技术生态的重要切入点,而 2025・CANN 训练营的专属课程,为开发者提供了从理论到实操的系统化学习方案。对于想要深耕昇腾技术体系的开发者而言,参与本次训练营、掌握 Cube 算子开发秘籍,不仅能提升个人技术硬实力,更能为后续的算子定制、性能优化等工作筑牢基础,在昇腾 AI 生态中实现技术价值的最大化。
2025-12-08 12:24:18
734
原创 昇腾 AI 处理器架构与编程模型详解
昇腾AI处理器采用异构计算架构,整合AICore、AICPU等专用计算单元,通过分层存储和高速互联实现高效AI计算。其编程模型基于CANN架构,提供从框架适配到算子开发的多层级接口,支持PyTorch/MindSpore等主流框架。开发者可通过昇腾学习平台快速掌握架构原理与开发技能,实现从单芯片到集群的AI应用部署。该处理器特别适合大模型训练,其软硬件协同设计显著提升算力利用率。
2025-12-07 23:41:17
1176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅