---
title: CANN
description: "异构计算架构CANN（Compute Architecture for Neural Networks）是昇腾针对AI场景推出的异构计算架构，向上支持多种AI框架，包括MindSpore、PyTorch、TensorFlow等，向下服务AI处理器与编程，发挥承上启下的关键作用，是提升昇腾AI处理器计算效率的关键平台。同时针对多样化应用场景，提供多层次编程接口，支持用户快速构建基于昇腾平台的AI应用和业务。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/index/index.html
sourcePath: /source/zh/canncommercial/900/index/index.html
indexId: 5c54c6b8ebb4cd466d884c736c22e2dc6d98c04c3a14f5422ac16c929de57d4f46
---
# CANN

异构计算架构CANN（Compute Architecture for Neural Networks）是昇腾针对AI场景推出的异构计算架构，向上支持多种AI框架，包括MindSpore、PyTorch、TensorFlow等，向下服务AI处理器与编程，发挥承上启下的关键作用，是提升昇腾AI处理器计算效率的关键平台。同时针对多样化应用场景，提供多层次编程接口，支持用户快速构建基于昇腾平台的AI应用和业务。

-   版本说明(https://www.hiascend.com/document/detail/zh/canncommercial/900/releasenote/9.0.0/release-notes)

  CANN的版本配套关系及版本特性变更等信息。

-   昇腾产品形态说明(https://www.hiascend.com/document/detail/zh/AscendFAQ/ProduTech/productform/hardwaredesc_0001.html)

  昇腾产品的具体系列名称以及其对应的全部产品。


#### 环境准备

-   快速安装(https://www.hiascend.com/cann/download)

  提供快速安装CANN的步骤，相关使用指导请参见快速安装FAQ(https://www.hiascend.com/document/detail/zh/canncommercial/900/softwareinst/instg/instg_0050.html)。

-   软件安装(https://www.hiascend.com/document/detail/zh/canncommercial/900/softwareinst/instg/instg_0000.html)

  全量CANN软件安装指南，提供不同操作系统及业务场景下安装、升级、卸载CANN的操作指导。


#### 编程指南

-   Ascend C算子开发(https://www.hiascend.com/document/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_map_10_0002.html)

  基于Ascend C算子编程语言进行算子开发，相关API请参见Ascend C API(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_0003.html)。

-   通信算子开发(https://www.hiascend.com/document/detail/zh/canncommercial/900/programug/commopdev/hcclopdev_000001.html)

  介绍如何基于通信算子API开发AI CPU与AIV通信算子。

-   应用开发(https://www.hiascend.com/document/detail/zh/canncommercial/900/programug/acldevg/acldevg_0001.html)

  CANN提供了C/C++、Python语言API开发AI应用，您可以基于这套接口，利用AI处理器的硬件计算资源进行各种加速计算，典型的包括神经网络推理、图形图像预处理以及各种科学计算等。

-   图开发(https://www.hiascend.com/document/detail/zh/canncommercial/900/programug/graphdevg/atlasag_25_0081.html)

  基于GE提供的接口进行图开发，包括构图、改图、编译与运行图等，相关API请参见GE 图引擎API(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/ascendgraphapi/atlasgeapi_07_0001.html)、基础数据结构和接口(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/basicdataapi/atlasopapi_07_00001.html)。


#### API参考

-   Ascend C API(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_0003.html)

  Ascend C提供的基础API、高阶API等。

-   Runtime运行时 API(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_0019.xml)

  Runtime通过提供统一的API，使得上层应用和框架能够高效利用AI处理器的硬件计算资源。

-   GE图引擎 API(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/ascendgraphapi/atlasgeapi_07_0001.html)

  通过GE图引擎接口构造直接在昇腾平台上运行的图。

-   算子库(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/aolapi/operatorlist_00001.html)

  提供丰富的深度优化、硬件亲和的高性能算子。

-   HCCL集合通信库(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/hcclug/hcclug_000001.html)

  基于昇腾AI处理器的高性能集合通信库，提供单机多卡以及多机多卡间的数据并行、模型并行集合通信方案。

-   HIXL单边通信库(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/hixlug/hixldev_001.html)

  本文档提供单边通信库的开发指南，用于指导开发者如何使用单边通信库接口实现集群间的数据传输，构建大模型推理分离式框架。

-   ATB加速库(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/ascendtb/ascendtb_0001.html)

  介绍Ascend Transformer Boost加速库的使用方法，提升Transformer模型的训练和推理开发效率。

-   SiP加速库(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/SiP/SIP_0000.html)

  介绍信号处理领域相关的高性能算子的使用方法。

-   DVPP媒体加速库(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/dvpp/dvpp_03_0000.html)

  DVPP是AI处理器内置的图像处理单元，通过媒体数据处理接口提供强大的媒体处理硬加速能力，主要包括VPC图片处理、JPEG图片编解码、视频编解码等功能。


#### 开发工具

-   开发工具快速入门(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/devtoolquickstart/docs/zh/quick_start/op_tool_quick_start.md)

  提供PyTorch训练场景开发工具、大模型推理开发工具、算子开发工具快速入门指导。

-   算子开发工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/optool/docs/zh/quick_start/mskpp_quick_start.md)

  算子开发工具集（msKPP、msOpGen、msOpST、msSanitizer、msDebug和msProf等）的使用指导。

-   算子编译工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/opcompiletool/atlasop_compiler_07_0001.html)

  编译算子生成算子二进制文件。

-   ATC离线模型编译工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/atctool/atlasatc_16_0001.html)

  模型转换工具，将网络模型转换为昇腾AI处理器支持的.om格式离线模型。

-   AOE调优工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/aoe/auxiliarydevtool_aoe_0001.html)

  自动调优工具，充分利用硬件资源，提升网络的性能。

-   分析迁移工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/migrationtools/atlasfmkt_16_0001.html)

  将PyTorch训练脚本一键式迁移至昇腾NPU。

-   精度调试工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/ModelAccuracyAnalyzer/atlasaccuracy_16_1000.html)

  精度比对，辅助定位模型精度问题。

-   性能调优工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/Profiling/atlasprofiling_16_0144.html)

  训练、推理各运行阶段的性能数据采集和分析。

-   HCCL性能测试工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/hccltool/HCCLpertest_16_0001.html)

  测试HCCL集合通信的功能正确性以及性能。

-   AMCT模型压缩工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/amct/atlasamct_16_0001.html)

  模型压缩工具包，提供量化、张量分解等多种模型压缩特性。

-   内存分析工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/msMemScope/atlas_msleaks_0001.html)

  模型训练和推理过程中的内存问题定位。


#### 编译器

-   毕昇编译器(https://www.hiascend.com/document/detail/zh/canncommercial/900/compiler/BishengCompiler/atlas_bisheng_10_0001.html)

  使用毕昇编译器将算子代码编译成二进制可执行文件和动态库等形式的指导。

-   AscendNPU IR(https://www.hiascend.com/document/detail/zh/canncommercial/900/compiler/AscendNPUIR/ir_001.html)

  基于MLIR构建的，面向昇腾亲和算子编译时使用的中间表示。


#### 参考

-   故障处理(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/troubleshooting/troubleshooting_0001.html)

  问题定位与处理方法，帮助开发者快速定位并解决故障。

-   日志参考(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/logreference/logreference_0001.html)

  介绍日志的内容格式，以及如何查看日志、设置日志级别等。

-   环境变量参考(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0001.html)

  基于CANN构建AI应用和业务过程中可使用的环境变量。

-   图融合和UB融合规则参考(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/graphubfusionref/atlasrr_30_0003.html)

  昇腾AI处理器内置的一些图融合和UB融合规则，图融合和UB融合是整网性能提升的一种关键手段。

-   基础数据结构和接口(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/basicdataapi/atlasopapi_07_00001.html)

  算子开发和图开发时依赖的基础数据结构和接口说明。

-   版本参考文档(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/refdoc/refer001.html)

  提供CANN产品通信矩阵、开源软件声明和漏洞修复列表。


#### 其他

-   特征向量检索(https://www.hiascend.com/document/detail/zh/canncommercial/900/others/fvsearch/aclcppdevg_03_1334.html)

  CANN提供了基于硬件加速的短特征检索接口，包括特征底库的添加/删除接口、特征向量的修改/删除接口、以及执行检索接口等。

-   RPing功能开发(https://www.hiascend.com/document/detail/zh/canncommercial/900/others/rpingdev/RPing_02_0001.html)

  RPing是一种基于RDMA的网络探测技术，用以实现发送检测报文、记录网络时延、统计报文收发情况。

-   TBE&AI CPU算子开发(https://www.hiascend.com/document/detail/zh/canncommercial/900/others/tbeaicpudevg/atlasopdev_10_0001.html)

  基于TBE、AI CPU接口开发TBE和AI CPU自定义算子。

-   LLM DataDist开发(https://www.hiascend.com/document/detail/zh/canncommercial/900/others/llmdatadistdev/llmdastdev_001.html)

  使用LLM DataDist接口对大模型的推理进行分离部署，从而提高大模型推理的吞吐性能。

-   DataFlow开发(https://www.hiascend.com/document/detail/zh/canncommercial/900/others/dataflowdevg/dataflow_dev_001.html)

  通过DataFlow C++和Python API构建、修改、编译和执行计算图，同时提供UDF接口，支持用户通过FuncProcessPoint和GraphProcessPoint编写自定义处理函数。

-   ISP图像调优(https://www.hiascend.com/document/detail/zh/canncommercial/900/others/ispdevug/ispdevug_0001.html)

  ISP（Image Signal Processing）相关的算法和功能调试方法。
