
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
想象你在厨房做菜。冰箱在远处(HBM,高带宽内存),料理台在面前(SRAM,片上缓存)。每次要切菜,都得走过去开冰箱门拿食材,切两刀,又走回去放回去——这就是传统注意力机制在昇腾NPU上的运行方式。来回跑,费时费力。FlashAttention 干了一件事:**一次性把食材全端到料理台上,一口气切完**。不用来回跑冰箱了。我是去年底帮一个朋友看大模型推理代码的时候,第一次被这个算子砸懵的。当时他的

Pattern Matching 不仅仅是switch的增强版。它是一种声明式的数据结构匹配与解构机制,允许我们同时完成"判断数据结构"和"提取内部值"两件事。变量声明(解构)变量赋值switch 语句和表达式if-case 语句for-in 循环集合字面量代数数据类型(Algebraic Data Type,ADT)是函数式编程中的核心概念。简单来说,一个 ADT 是由有限个确定的子类型组成的封

想象你在厨房做菜。冰箱在远处(HBM,高带宽内存),料理台在面前(SRAM,片上缓存)。每次要切菜,都得走过去开冰箱门拿食材,切两刀,又走回去放回去——这就是传统注意力机制在昇腾NPU上的运行方式。来回跑,费时费力。FlashAttention 干了一件事:**一次性把食材全端到料理台上,一口气切完**。不用来回跑冰箱了。我是去年底帮一个朋友看大模型推理代码的时候,第一次被这个算子砸懵的。当时他的

这是一份关于 **cann-recipes-infer** 的深度实战指南。基于你提供的上下文(2026年5月)、检索到的仓库信息以及昇腾社区的最新动态,我为你整理了这份关于昇腾 NPU 推理“标准菜谱”的详细教程。

摘要: pytorch-adapter 是一个让 PyTorch 模型无需大量修改即可在昇腾 NPU 上运行的适配工具。通过简单的 .npu() 调用,模型和输入数据可自动迁移至 NPU,支持训练、推理及混合精度优化。安装需匹配 CANN 和 PyTorch 版本(如 CANN 8.0 + PyTorch 2.1),并替换后端为 NPU。性能调优建议开启算子融合(Graph Mode)、使用 AT

Dart VM 的内存管理是一个精心设计的工程系统——新生代的快速 Scavenge、老生代的并发标记与并行压缩、大对象区的直接分配——这些机制共同保证了 Flutter 应用的流畅体验。但是,没有任何 GC 能拯救糟糕的代码。新生代、老生代、大对象区的分工——理解晋升机制是减少 Major GC 压力的关键。分代 GC 的工作原理——Minor GC 快但只管新生代,Major GC 慢但能真正

上节学习的 MaterialApp 是 Flutter 应用的入口组件,用于封装整个应用并提供 Material Design 风格支持。它配置了主题、路由、首页等全局属性,是使用 Scaffold 等 Material 组件的前提,确保应用具备一致的 UI 规范和导航能力。接下来,我们来学习基础组件 - Scaffold。

本文介绍了在鸿蒙系统上Flutter应用使用Hive CE作为本地存储方案的实战经验。由于鸿蒙不支持原生SQLite,依赖SQLite的sqflite插件无法使用,而纯Dart实现的Hive CE成为理想替代方案。文章详细说明了Hive CE的添加依赖方法、初始化流程(包含降级策略)、数据存储实现(MoodStorage类)、查询过滤技巧、轻量级设置管理以及资源释放等关键环节。Hive CE凭借其

本文介绍了将Flutter应用从Android/iOS迁移到鸿蒙系统时,存储层使用Hive的适配方案。当标准Hive在鸿蒙上出现原生库缺失问题时,推荐改用纯Dart实现的Hive CE版本。迁移步骤包括:替换依赖为hive_ce、更新导入语句、验证API兼容性(核心功能完全兼容)、处理TypeAdapter以及添加降级容错机制。文中以E-Brufen应用为例,展示了性能测试数据和实际项目中的防御性

E-Brufen是一款专注于心理健康与情绪管理的移动应用,采用Flutter框架开发,完全离线运行。应用包含情绪日记、呼吸练习、白噪音放松等核心功能,通过Hive CE实现本地数据存储,使用原生ChangeNotifier进行状态管理。技术架构清晰分层:UI层包含4个主页面,Widget层封装可复用组件(如呼吸动画球、情绪选择器等),数据层通过MoodStorage和AppSettings管理状态








