
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
在鸿蒙PC上探索包管理生态的这一个月,就像是在一个正在建设中的城市里寻找便利店。有时你需要去官方超市(HPM),有时要去国际卖场(Flatpak),有时还得自己动手做(源码编译)。这种多样性既是挑战也是机遇。它意味着鸿蒙PC还没有被固定的模式束缚,开发者有更多机会参与生态建设。没有最好的包管理器,只有最合适的组合。根据不同的需求,灵活选择甚至组合使用不同的包管理方案,是在鸿蒙PC上高效工作的关键。
隔离是关键:为每个身份使用独立的SSH密钥和Git配置自动化是朋友:用脚本和钩子自动化重复任务文档是必须的:详细记录每个仓库的特殊配置定期维护:每月清理一次.git目录,更新SSH密钥鸿蒙PC作为一个新兴平台,Git的某些行为可能与Linux略有不同。但通过精心配置,完全可以获得流畅的开发体验。现在,每当我需要在个人项目、工作项目和鸿蒙开源项目之间切换时,只需要一个命令就能完成配置切换。这种流畅感
昇腾的异构多核编程模型,以 AIR 作为核心的中间表示,成功地在抽象的计算描述与底层的 Cube/Vector 硬件执行之间架起了桥梁。AIR 不仅仅是一种中间语言,更是一种指导编译器进行资源分配、调度优化和指令生成的框架。通过深入理解CANN 组织提供的工具链和AIR 仓库中的设计哲学,我们可以看到,高效的异构编程依赖于对数据流、硬件特性和编译时优化的精妙平衡。未来,随着昇腾架构的演进,AIR
这是代码最终运行的地方,通常是安装了昇腾AI处理器的服务器或Atlas开发板。和许多初学者一样,在满怀激情地报名了【2025年昇腾CANN训练营第二季】 后,我面临的第一个“算子”不是复杂的数学公式,而是一道最现实的关卡——如何把Ascend C开发环境给搭起来。有了顺手的VSCode环境和训练营一步步的指导,我相信后面的学习会更有趣、更高效。如果你用的是云服务器,请确保你申请的是昇腾AIECS,
本文系统介绍了AscendC算子开发中的Tiling计算技术,重点解析了动态shape场景的实现方法。文章首先阐明Tiling的基本概念和必要性,对比分析了固定shape与动态shape的实现差异,详细阐述了动态shape场景下Tiling结构体设计、数据传递过程和多核并行策略。针对动态shape实现,文章特别强调了硬件对齐原则、改装要点及调用流程,并为准备AscendC认证的开发者提供了学习建议
直到我尝试优化一个稍微复杂的算子,性能却惨不忍睹时,训练营的老师一针见血地指出:“你的数据待在‘仓库’里的时间,比在‘车间’里还长!不理解它们,写出的代码就像在迷宫里打转,永远无法触及高性能的彼岸。在训练营的下一阶段,我们将学习如何让GM到LM的搬运与LM上的计算“同时进行”,这就是更高级的。理解了各自的特点,那正确的“工作流”应该是怎样的?中学到的知识,结合自己的踩坑经历,为大家绘制一份走出这片
当终端里终于弹出“Build Success”时,我激动了没三秒,就陷入了新的迷茫:这个黑乎乎的命令行,怎么就能变出能在昇腾AI处理器上跑的算子呢?训练营的巧妙之处就在于此,它不急于灌输复杂的Tiling、流水线,而是用一个最直观的案例,让你先感受到“它跑起来了!我们的“向量加法”工程,就是让Host准备两个数组,然后命令Device把这两个数组对应位置相加,结果存到第三个数组里。// 看,就是这
起初我以为这只是一句口号,直到我因为一个函数名的拼写错误调试了一下午后,我才明白,这两个看似简单的语法,其实是连接Host与Device世界的“规则契约”。从此,你不再是模糊地复制粘贴代码,而是清楚地知道,你写的每一行指令,将如何跨越架构的鸿沟,在专用的处理器上绽放出算力的光芒。在绝大多数情况下,它们都是成对出现的。当我们的应用程序运行时,核函数的代码并不是以源代码的形式存在的。当编译器看到这个关
在鸿蒙PC上探索包管理生态的这一个月,就像是在一个正在建设中的城市里寻找便利店。有时你需要去官方超市(HPM),有时要去国际卖场(Flatpak),有时还得自己动手做(源码编译)。这种多样性既是挑战也是机遇。它意味着鸿蒙PC还没有被固定的模式束缚,开发者有更多机会参与生态建设。没有最好的包管理器,只有最合适的组合。根据不同的需求,灵活选择甚至组合使用不同的包管理方案,是在鸿蒙PC上高效工作的关键。
的异步任务队列模型是昇腾计算效率的基石。它通过高效的生产者-消费者模型解决了驱动层面的延迟问题,通过精妙的 Event 机制解决了并发中的依赖问题,并通过背压控制确保了长时运行的稳定性。对于希望深度优化 AI 应用性能的开发者来说,理解这一层面的并发模型,能够帮助你更科学地设计多 Stream 并行策略,从而彻底榨干昇腾 NPU 的每一分算力。







