登录社区云,与社区用户共同成长
邀请您加入社区
Ascend C算子开发(入门)笔记,包含 算子基本概念;Tensor、Shape、Format 与 Axis;算子运行演示;算子开发的问题与挑战;CANN 与 Ascend C;昇腾 AI 处理器架构;Ascend C 的特点;Host 与 Device;核函数;Hello World 算子实现;完整核函数实现;算子开发环境部署概述;CPU 上部署开发环境;香橙派上部署开发及运行环境;华为云 M
华为MindSpore静态工程审阅摘要(150字) 本文基于bd3c5dd快照对华为MindSpore AI框架开展静态工程审阅。该C++核心(占比99.6%)架构展现企业级体量,含4,230个源文件、87个CMake配置,模块拓扑聚焦计算图引擎、硬件后端等7大核心组件。审阅发现13条静态风险线索需人工复核,测试与CI工作流证据缺失。作为昇腾AI全栈核心层,MindSpore通过"动静统一+原生自
特性C / C++ (AscendCL 应用开发)昇腾 C (Ascend C 算子开发)编程目标业务逻辑、资源管理、任务调度算子计算逻辑实现运行位置Host 侧 (CPU)Device 侧 (NPU, 如 AI Core)语言规范标准 C/C++C/C++ 语法扩展核心 API以acl开头的 AscendCL 接口Ascend C 指令与核函数定义开发难度较低,侧重流程控制较高,侧重硬件性能榨取
在鸿蒙(HarmonyOS)生态中集成 C++ Boost 库,主要依赖于 HarmonyOS NDK 提供的 C++ 标准库机制。由于 Boost 库深度依赖 C++ 特性,在集成时需要特别注意 C++ 运行环境的兼容性。
PyPTO 确实会自动生成 AscendC(昇腾算子C++)源码,支持JIT隐式生成与手动导出源码两种模式;PyPTO =手写式算子开发框架(可控、高性能、生产首选);全自动代码生成工具(免手写、原型快速验证、学术原型,不适合线上极致性能算子)。
FFI(Foreign Function Interface)顾名思义,是让一种编程语言调用另一种"外国"语言编写的函数接口。Dart FFI 从 Dart 2.5 开始作为dart:ffi包引入(Dart 2.12 稳定),允许 Dart 代码直接调用 C 语言的函数,无需通过 Platform Channel、无需序列化、无需异步等待。核心优势在于零拷贝的直接调用│ FFI 调用 vs Pla
在前一天的实战文章中,我们探讨了 NDK 配置、NAPI 基础注册以及字符串的跨语言处理。今天我们继续深入,走进 HarmonyOS NEXT 中一个极具技术含金量的领域——基于 XComponent + EGL + OpenGL ES 3.0 的完整图形渲染管线。为什么这个方向值得单独成篇?原因很简单:HarmonyOS NEXT 的声明式 UI 框架(ArkUI)固然强大,但在游戏渲染、视频滤
摘要 本文档详细记录了将音频元数据解析库TagLib 2.3从Linux平台迁移到HarmonyOS NEXT系统的全过程。主要内容包括:1)将源码整体移植到鸿蒙工程目录并保留原有结构;2)通过CMake配置启用全部22种音频格式支持;3)设计三层适配架构(ArkTS封装层、N-API接口层、业务逻辑层);4)实现路径安全检查、MIME自动识别和歌词解析等核心功能;5)使用N-API异步接口封装文
昇腾DynamicQuant算子可以实现动态逐 token 量化,将浮点张量(FP16/BF16)量化为低精度整数(INT8/INT4)或浮点8位(FP8),同时输出每行的量化 scale(和可选的 offset)。本文通过深入分析算子实现,识别出流水线同步开销和单行处理粒度是性能瓶颈,并针对性地提出了向量指令优化与多行批量处理方案。DynamicQuant 实现动态逐 token 量化。
本次交流聚焦于 C/C++ 三方库在 HarmonyOS 开发中的应用。首先是适配 HarmonyOS 工具链,这是将开源三方库融入鸿蒙生态的关键步骤,确保其兼容性与稳定性。DevEco Studio 则是构建的得力助手,可用于打造自定义三方库,满足特定开发需求。在 Native 工程里使用这些三方库,能拓展功能、提升效率。
工业机器人操作系统分类指南 工业机器人操作系统分为三大类: 底层实时RTOS:负责运动控制与安全,如VxWorks(ABB/KUKA等采用)、QNX(协作机器人常用)、实时Linux(国产主流)及国产系统(SylixOS、鸿蒙等),需微秒级硬实时能力。 整机厂商专用系统:如FANUC的ROBOTGUIDE、ABB的RobotWare,基于VxWorks/Linux封装,含专属编程语言与工艺包,用于
本文系统介绍NAPI(Node-API)在HarmonyOS中的使用方法,帮助开发者实现ArkTS与C/C++代码的互操作。主要内容包括: NAPI核心概念:介绍napi_env、napi_value等关键概念及模块注册机制 开发环境配置:详细说明工程配置、CMake设置和类型声明 开发全流程:从函数编写、参数获取到类型转换和模块注册的完整步骤 数据类型转换:覆盖数值、字符串、布尔值、数组等类型的
本文介绍了在鸿蒙应用开发中集成C/C++三方库的完整流程,以libmediainfo为例,重点讲解了如何通过NAPI机制实现ArkTS与C/C++的交互。文章对比了直接链接和dlopen动态加载两种集成方式,推荐使用直接链接方法,并详细说明了项目结构设计、SO文件放置、头文件管理和NAPI桥接层的实现。通过编写C++包装代码,将三方库的C接口转换为ArkTS可调用的NAPI接口,最终实现在鸿蒙应用
此次中望 3D 成功登陆鸿蒙,是国产工业软件龙头+国产自主操作系统深度协同的标志性成果,不仅彰显了国产工业软件的硬核实力,更证明了 DevEco Studio 已经具备承载千万行级别商用超大工程的能力。依托 DevEco Studio、工具链一体化能力,鸿蒙将持续深耕企业级开发场景,为国产软硬件生态赋能,加速国产化替代步伐,共同构筑自主可控的工业软件基石。针对开发最常用的编辑、调试、编译三大场景,
鸿蒙版Electron 如何使用Electron调用原生arkts方法,Electron鸿蒙交互,Electron鸿蒙通信
metadef作为昇腾CANN全栈的元数据结构与类型定义基础仓库,通过中心化类型注册表、跨仓库类型共享、protobuf版本兼容等机制,系统性地解决了异构计算栈中的类型一致性和版本管理问题。
写给新手的 atvcoss:昇腾 Vector 算子子程序模板库到底是啥?
《CMake在昇腾CANN算子开发中的核心作用》摘要: CMake是昇腾CANN算子开发的核心构建系统,负责将Ascend C代码编译成NPU可执行的二进制文件。文章通过建筑工地塔吊的比喻,形象说明CMake不直接编译代码,而是调度整个编译过程。主要内容包括:1)CMake三大核心功能模块(算子编译、依赖管理、安装规则);2)详细演示如何通过CMakeLists.txt编译MatMul算子并生成.
Flutter在OpenHarmony平台开发中自定义底部导航栏的实践指南。文章分享了健康管理APP开发过程中遇到的鸿蒙适配问题与解决方案,重点介绍了三个典型鸿蒙专属bug:渲染层级异常、点击事件失效和内存泄漏问题。针对这些问题,作者提供了详细的解决思路和优化代码,包括使用Stack组件适配安全区域、重写触控事件监听、自定义状态管理类等。文中还给出了完整的可运行代码示例,特别标注了鸿蒙平台需要注意
本文系统阐述了鸿蒙开发中ArkTS与C/C++互操作的关键技术FFI(外部函数接口)。FFI作为连接应用层与底层性能的桥梁,在图像处理、音视频编解码等高性能场景中至关重要。文章深入分析了类型映射、内存管理、线程边界等核心挑战,提出粗粒度接口设计、分层协作等工程实践方案,强调FFI不是简单调用技巧而是架构设计能力。通过合理分层(ArkTS业务层、FFI适配层、C/C++核心层),开发者既能保持Ark
结合职位描述中的具体要求,详细阐述了开发流程、技术要点、常见问题解决方案,并提供了针对性的面试问题与答案,旨在为鸿蒙生态的C++开发者提供全面的技术参考和实践指导。在这个生态中,C++语言因其高性能、贴近硬件的特性,在底层系统服务、高性能计算、多媒体处理、游戏引擎以及需要直接与硬件交互的后台模块开发中扮演着至关重要的角色。开发者需要不断深化对鸿蒙系统架构、分布式能力、性能优化工具的理解,掌握扎实的
HarmonyOS 6.0 于 2025 年 10 月 22 日正式发布,这是鸿蒙系统进入 6.x 时代后首个正式版本,API Level 来到了 20。相比 5.x,这个版本在 ArkUI 组件层做了大量增强,同时 NDK 层也跟着更新,新增了端侧智慧化数据检索 C API,传感器模块的 Native 接口也更加稳定。很多开发者可能还不知道,HarmonyOS 的 Native 开发套件(NDK
文章系统分析了鸿蒙NDK开发环境、NAPI框架、系统底层能力调用、后台服务架构设计、性能优化等关键技术点,并结合“HarmonyOS APP或游戏”、“HarmonyOS PC”应用场景,提供详实的技术方案和面试题库。在鸿蒙应用生态中,C++语言扮演着至关重要的角色,尤其是在高性能、高稳定性要求的后台服务、系统底层能力封装、游戏引擎、多媒体处理等核心模块。鸿蒙系统、C++开发、NDK、NAPI、分
本文介绍了C++中switch语句的基础用法,适合处理多条件选择场景。文章通过菜单选择案例详细讲解了switch的基本语法、case/break/default的使用规则,并特别说明了break的重要性以及穿透特性的巧妙利用。相比if-else结构,switch在处理固定值分支时更清晰高效,但仅适用于整型常量判断。文末还提出了一个计算器实现的思考题,鼓励读者动手实践。该教程采用标准C++编写,代码
通过本节学习,我们达成了从键盘输入数据以及完成简单加法计算器的目标,深入掌握了cin的使用方法及其在实际编程中的应用。在后续学习中,我们将进一步探索 C++ 输入输出流库的更多功能,提升编程能力。若在学习过程中有任何疑问,欢迎随时交流。🔔 下一篇预告:第5篇 · C++ 零基础入门-5.if else 条件判断(小白必看)。标准C++,鸿蒙通用,敬请期待。—— 用标准C++,一套代码,全平台通行
本文详细分析了OpenHarmony系统中屏幕旋转的完整流程,整个流程涉及DisplayManager、ScreenController、RenderService和HWC等多个系统模块的协同工作,形成完整的屏幕旋转处理机制。
鸿蒙开发技术指南:从底层到应用全解析 本文为开发者提供鸿蒙生态开发全面指南,涵盖OpenHarmony底层开发和HarmonyOS应用开发两大方向。在底层开发方面,重点解析C++语言在系统开发中的关键作用,包括内存管理、多线程等核心技术,并深入讲解OpenHarmony内核、驱动和子系统开发要点。在应用开发层面,详细介绍ArkTS语言、ArkUI框架及分布式能力开发,同时探讨PC端应用开发特性与优
去年下半年,我帮天津滨海新区一家给一汽丰田做配套的汽车零部件国企,完成了3条产线、12套C#上位机的全栈国产化适配。这个项目的背景很典型,也很戳中国企客户的命门:一开始客户找了两家本地的集成商,都没搞定:第一家只会用.NET Framework,根本不知道怎么在统信UOS上跑C#;第二家勉强用.NET Core 3.1跑起来了,但和汇川国产PLC的通信丢包率高达1.2%,产线根本不敢用。我们接手后
2026年机器人操作系统领域正迎来重大技术变革。ROS2计划在LyricalLuth版本首次采用Zenoh替代DDS作为默认通信中间件,同时NVIDIA IsaacLab、开源鸿蒙机器人系统等新兴框架快速崛起。本文深度解析了ROS2核心架构设计原理,对比分析了主流机器人中间件技术路线,预测未来3-5年技术演进方向。研究表明,Zenoh在延迟、吞吐量和内存占用方面优于传统DDS方案,将成为下一代通信
内容涵盖:1) Visual Studio 2022环境下的项目创建与管理;2) 基本数据类型(int、double、char、string、bool)的定义与使用;3) 变量赋值与输出操作;4) 调试技巧(F5/F9/F10/F11快捷键使用)。通过一个包含个人信息输出的完整代码示例,详细演示了变量声明、初始化和输出的全过程。教程强调实践性.本文是《C++零基础到底层实战》系列教程的第3篇,重点
本文介绍了《C++零基础到底层实战》系列教程的第一篇,详细讲解在Windows系统下安装Visual Studio 2022社区版开发环境的步骤。教程强调使用标准C++编写代码,确保跨平台兼容性,支持Windows、鸿蒙、Linux和macOS等系统。内容包括从下载安装器到创建第一个C++项目的完整流程,并提供了常见问题解决方案。该系列教程分为入门、进阶和高阶三大模块,涵盖从基础语法到多线程、智能
ArkTS 与 C/C++ 的 FFI 互操作,是鸿蒙原生开发从“能用”迈向“高性能、高可靠”的关键跃迁。它不仅是技术工具,更是连接应用逻辑与硬件能力的桥梁。记住简单逻辑用 ArkTS密集计算走 Native内存生命周期要管死线程安全不能忘。随着 OpenHarmony 对 FFI 的持续优化(如自动内存管理、C++ 对象绑定等),这一通道将更加安全高效。掌握本文所述体系,你已具备构建鸿蒙顶级原生
本文探讨了一个二维费用背包问题,模拟小智在精灵球和皮卡丘体力双重限制下收服野生小精灵的决策过程。通过定义dp[i][j]表示使用i个精灵球和承受j点伤害时能收服的最大精灵数,并配合ht[i][j]记录对应的最小总伤害值。采用倒序动态规划方法,确保每个小精灵只被选择一次。在状态转移时优先保证收服数量最多,数量相同时选择伤害最小的方案。最终遍历所有资源消耗组合,找出收服数量最多且伤害最小的最优解。该方