目录

CANN Kit简介

CANN(Compute Architecture for Neural Networks)是华为面向AI推出的端云一致的异构计算架构。在HarmonyOS设备上,CANN Kit(CANN异构计算框架服务)面向Kirin芯片平台为各种人工智能模型和算法提供统一的接入和运行环境。开发者的应用程序使用CANN Kit的API和开发者数据,在设备端实现智能推理以及模型优化等操作,充分发挥设备的本地智能处理能力。

模型是将人工智能算法应用于大量训练数据后得到的结果。开发者可以使用模型依据新的输入数据进行智能推理和预测。模型能够完成许多用常规代码实现起来难度较大或效率较低的复杂任务。例如,你可以训练模型对图像进行语义分割,识别图像中的不同物体类别并精确划分其区域或者对语音数据进行处理,实现语音唤醒、语音识别以及语音合成等功能。

开发者可以使用华为昇腾提供的CANN开发平台进行模型的构建和训练。将训练好的模型转换为适合CANN Kit的模型格式,以便集成到开发者的应用中。此外,开发者也可以基于其他开源或自研的机器学习框架进行模型开发,然后借助CANN Kit提供的工具链将模型适配到HarmonyOS生态中。

CANN Kit通过协同调度设备的NPU(神经网络处理单元)、CPU等硬件资源,实现高效的设备端智能计算性能优化。在提升计算效率的同时,尽可能降低对内存和电量的消耗。在设备端直接运行模型,减少了对网络的依赖,不仅保障了开发者数据的隐私安全,还使应用程序在各种网络环境下都能保持快速响应,为开发者提供流畅的智能交互体验。

CANN Kit构建在底层的硬件驱动和优化的计算库之上,面向华为自研的达芬奇架构NPU的计算核心,与云侧昇腾芯片统一支持AscendC自定义算子编程语言和相关工具链,确保开发者面向NPU的开发优化可以一次开发、多端运行。

CANN Kit是HarmonyOS智能生态的重要基石,为众多领域的智能应用提供核心支撑。例如:支持图像视觉相关的Core Vision Kit、用于自然语言处理的Natural Language Kit等AI计算加速能力,同时支持HarmonyOS的MindSpore Lite Kit、Neural Network Runtime Kit,三方的MNN、PaddleLite等推理框架能力,共同打造丰富的智能应用场景。

场景

[h2]模型优化

[h2]模型转换

[h2]端侧部署

[h2]单算子

在三方应用框架加载其原始模型阶段,根据算子的输入、输出、权重信息等参数创建相应的单算子执行器对象并完成加载。三方应用框架执行模型推理时,在其中算子计算过程中调用单算子推理接口,完成算子计算。

[h2]AscendC自定义算子开发

AscendC 是CANN Kit针对算子开发场景推出的编程语言,支持C和C++标准规范,最大化匹配开发者开发习惯;通过多层接口抽象、自动并行计算、孪生调试等关键技术,提高算子开发效率,助力AI开发者低成本完成算子开发和模型调优部署。

基本概念

在进行CANN Kit开发前,开发者应了解以下基本概念:

约束与限制

本Kit仅适用于带有Kirin NPU的Phone、Tablet、PC/2in1、TV设备。

从5.1.1(19)版本开始,新增支持TV设备。

模拟器支持情况

本Kit暂不支持模拟器。

与相关Kit的关系

HarmonyOS AI开放层次由上层到底层分别为:

Neural Network Runtime Kit可支持系统内置的MindSpore Lite推理框架(MindSpore Lite Kit),MindSpore Lite Kit已开放了配置NNRt的Native接口。

MindSpore Lite Kit对接NNRt可无需构图,两者共享同一份模型图格式(MindIR),因此使用MindSpore Lite在NNRt上加载模型将快于其他AI推理框架。此外,MindSpore Lite也支持通用硬件CPU/GPU与NNRt AI加速硬件之间的模型异构推理功能。

CANN Kit作为麒麟平台的后端接入Neural Network Runtime Kit,支撑Neural Network Runtime Kit于麒麟平台的AI计算能力。CANN Kit构建在底层的硬件驱动和优化的计算库之上,与云侧昇腾芯片统一支持AscendC自定义算子编程语言和相关工具链,是HarmonyOS智能生态的重要基石,为众多领域的智能应用提供核心支撑。