别等这波 AI 算力浪潮过去才后悔:CANN 应该学什么?

别等这波 AI 算力浪潮过去才后悔:CANN 应该学什么?

别等这波 AI 算力浪潮过去才后悔:CANN 应该学什么?

在这里插入图片描述

昇腾 CANN 这几年是真在 “狂飙”,生态越做越大、功能越来越多、文档越写越厚…… 但问题也随之出现:

CANN 支持 Python、C++、AscendCL、TBE、MindSpore、PyTorch Frontend、Kernel DSL……这么多"语言",到底学哪个?从哪入门?

别急,今天就给你一次性讲透,看完不再迷茫。

CANN 语言体系到底有多复杂?

在这里插入图片描述

整个 CANN 软件栈由多层 API 和 Kernel 构成,所以才会出现一堆「看似不同,实则分工明确」的语言接口

为了简化理解,我们可以把它粗暴分成三层:

  • 高层:框架调用 — 类似 PyTorch、MindSpore 训练推理
  • 中层:算子 API 调用 — AscendCL、ACL Python、算子编写接口
  • 底层:kernel 语言 — TBE、C++ Kernel、融合算子 DSL

这么拆完,你会发现: 它们不是重复,而是分工不同。

那哪个是你一定要学的?下面直接给你一张"版本更新一样的简表",看完就知道你属于哪类!

如果你只是"做模型推理":Python(ACL Python)就够了

在这里插入图片描述

适用场景:

  • 部署 YOLO
  • 部署大模型
  • ONNX 转 OM
  • 简单前后处理

为什么它值首推? 因为 Python ACL 是官方主推、最简单、最快上手的一套部署 API。你不会接触复杂内存、流、Device buffer,也不用写 Kernel。

一句话总结:

你不是搞算子的,用 Python ACL 就够了。

如果你要做"深度部署 + 自定义流程":C++ AscendCL 必须学

在这里插入图片描述

适用场景:

  • 性能要求高
  • 大规模离线服务
  • 推理服务并发、异步、流水线
  • 自己写 DVPP / AIPP / Memory Pool 管理

为什么必学? 因为真实部署场景里:

  • Python 慢
  • 多线程不友好
  • 高并发时不稳定

C++ AscendCL 是 CANN 最稳、最强、最接近硬件的调用方式。

一句话总结:

做真正的工程化推理,C++ ACL 是你必须掌握的语言。

如果你是"算子开发者":TBE 或 C++ Kernel 必学

这类人最少,但工资最高(你懂的)

CANN 的算子开发分两类:

(1)TBE(Tensor Boost Engine) :偏向静态图 + 大量已有模板,适合:Conv2D、Softmax、MatMul、BatchNorm已有算子二次开发

(2)C++ AICore Kernel(更底层) :偏硬件、写 AI Core 的 kernel pipeline,适合:复杂融合算子手写 pipeline算子性能极限优化AICore scheduler 调优

一句话总结:

TBE = 快速开发;C++ Kernel = 极致性能。

如果你未来想往昇腾、GPU、NPU 算子岗发展,这块是必修课。

如果你是"框架训练端开发":MindSpore 或 PyTorch Adapter

CANN 的训练侧主要依托两条路线:

  • MindSpore(原生最佳) :CANN 和 MindSpore 一家亲 ,用原生能力、全栈功能,MindSpore 体验最好
  • PyTorch 前端(适合本来就用 PyTorch 的人) AutoGrad、OpBuilder、AOT、动态图转图优化都是可用的

总结一句:

训练:MindSpore 最稳;PyTorch 最方便。

到底该学哪个?给你一个最清晰的选型图

你只做模型部署?
学:Python ACL

你要做企业级推理服务?
学:C++ AscendCL

你要做自定义算子?
学:TBE + C++ Kernel

你搞训练?
学:MindSpore / PyTorch Frontend

你是科研学生?
学:Python ACL + PyTorch Frontend(最通用、性价比最高)

未来趋势:CANN 语言生态正在逐步"收敛"

在这里插入图片描述

未来几年 CANN 的语言路线会更清晰:

  • Python → 上层易用封装
  • C++ ACL → 核心部署接口(长期稳定)
  • TBE/C++ → 算子强相关,长期保持底层能力
  • MindSpore → 训练路径主力
  • PyTorch → 长期兼容前端生态

一句话总结:

路线已经很明确了:上层简单、底层增强、接口稳定。 不会出现 “学了白学” 的情况。

最后一句总结

在这里插入图片描述

作为正在入门 CANN、同时接触昇腾与 GPU/NPU 双生态的新手,我越来越能感受到:**CANN 之所以“语言多”,不是为了为难我们,而是因为每一层都有它存在的价值。**搞清楚自己要做什么,选对应的一两门开始学,完全不会走弯路。其实可以这样理解:

  • **如果你只是想把模型跑起来:学 Python ACL 就足够了。**上手快、成本低、不需要理解底层,完全新手友好。
  • **如果你想做真正能上线的工程部署:Python + C++ 是必须的组合。**Python 写流程、C++ 保性能与稳定性,后期维护也更放心。
  • **如果你未来想往深度技术、算子方向走:TBE + C++ Kernel + ACL 缺一不可。**这是最吃技术也最值钱的一条路线,但不需要一开始就全学。

CANN 不需要你一次学会所有语言,选对起点更重要。随着项目深入,你自然会从"会用"走向"能调",越学越强,价值也就越高。

最后我想说:

互联网的每一波技术浪潮,都曾给无数新人机会:

HTML 出来的时候,你可能没赶上

Java 崛起的时候,你可能还在观望

但这一次不一样——AI 架构下的算力语言体系正在重新洗牌,CANN 正处在“从小众到主流”的关键窗口。

现在入场,不算晚,甚至恰恰是最好时机

抓住这一波,你学到的不止是 API,而是一整套面向未来的算力思维方式

技术浪潮不会等人,但这一次,你完全来得及。

Read more

苍穹外卖(前端)

苍穹外卖(前端)

前端环境搭建: 技术选型: 使用的前端技术栈:node.js、vue、ElementUI、axios、vuex、vue-router、typescript 代码结构: 核心目录 / 文件: 目录 / 文件说明apki封装 Ajax 请求的文件目录components公共组件存放目录views视图组件存放目录App.vue项目主组件、页面入口文件main.ts整个项目的入口文件router.ts路由配置文件 环境准备: 安装依赖包(生成 node_modules 目录): npm install 启动前端项目(需同时启动后端 Java 服务): npm run serve 员工管理: 员工分页查询: 需求分析和接口设计: 代码开发: 步骤一:制作页面头部 <div> <label> 员工姓名:

2025-12-05 webresearcher

WebResearcher  WebResearcher  简介 WebResearcher 是迭代式深度研究智能体,基于 IterResearch 范式构建的自主研究智能体,旨在模拟专家级别的研究工作流。与遭受上下文溢出和噪音累积困扰的传统 Agent 不同,WebResearcher 将研究分解为离散的轮次,并进行迭代综合。 本项目提供两种研究智能体: * WebResearcher Agent: 单智能体迭代研究,适合快速问答 * WebWeaver Agent: 双智能体协作研究,适合生成结构化长篇报告 传统 Agent 的问题 当前的开源研究 Agent 依赖于单上下文、线性累积模式: 1. 🚫 认知工作空间窒息: 不断膨胀的上下文限制了深度推理能力 2. 🚫 不可逆的噪音污染: 错误和无关信息不断累积 3. 🚫 缺乏周期性综合: 无法暂停以提炼、重新评估和战略性规划 WebResearcher 的解决方案 WebResearcher 实现了 IterResearch 范式,每轮通过单次 LLM 调用同时生成:

火山引擎AI大模型计费规则与GLM-4.6V-Flash-WEB成本对比

火山引擎AI大模型计费规则与GLM-4.6V-Flash-WEB成本对比 在当前多模态AI应用加速落地的背景下,图像理解、视觉问答和图文推理正逐步嵌入客服系统、内容审核、智能终端等核心业务场景。然而,一个现实问题摆在开发者面前:是选择开箱即用的商业API,还是自建轻量化模型服务?这不仅关乎技术架构的灵活性,更直接影响系统的长期运营成本与数据安全边界。 以火山引擎为代表的云厂商提供了便捷的大模型调用接口,而智谱推出的 GLM-4.6V-Flash-WEB 则代表了另一条路径——开源、可本地部署、面向Web实时交互优化的轻量级多模态模型。两者看似功能相似,但在性能表现、成本结构和适用场景上存在本质差异。本文将从工程实践角度出发,深入拆解这两种方案的技术内核与经济账本,帮助团队做出更具前瞻性的技术选型决策。 一、从“能用”到“好用”:为什么轻量化视觉模型正在崛起? 传统多模态大模型如GPT-4V或Qwen-VL-Max虽然能力强大,但其千亿参数规模决定了它们必须依赖高性能GPU集群进行推理,单次请求延迟常超过500ms,且部署成本动辄数十万元起。这种高门槛使得许多中小企业和边缘场景难

IDEA 创建 Spring Boot Web 项目完整教程

一、新建 Spring Boot 项目 1. 打开新建项目窗口 * 打开 IntelliJ IDEA → 点击 新建项目(或从欢迎页选择 New Project) * 在左侧生成器中选择 Spring Boot *          截图如下 * 选项填写内容说明服务器 URLstart.spring.ioSpring 官方初始化地址名称demo项目名位置D:\idea项目存放路径(建议不要含中文 / 空格)语言Java开发语言类型Maven项目构建工具组org.example项目组织标识工件demo项目模块名软件包名称com.example.demo根包名JDK21 Oracle OpenJDK 21.0.8你的 JDK 版本Java17源码兼容版本(Spring Boot 4.0.3 推荐 Java 17+)打包Jar可执行 Jar 包(Spring