CANN社区版
异构计算架构CANN(Compute Architecture for Neural Networks)是昇腾针对AI场景推出的异构计算架构,向上支持多种AI框架,包括MindSpore、PyTorch、TensorFlow等,向下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。同时针对多样化应用场景,提供多层次编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。
应用开发
算子开发
图开发
- 图模式使用介绍
汇聚CANN支持的图模式使用场景,并给出每种场景的流程指引。
- Ascend Graph开发
基于GE提供的Ascend Graph构图接口构造可直接在昇腾平台上运行的图,相关API请参见Ascend Graph构图接口。
- DataFlow开发 (Python)
基于GE提供的适用于异构计算场景的DataFlow构图接口构造可直接在昇腾平台上运行的FlowGraph,相关API请参见DataFlow构图接口 (Python)和UDF接口 (Python)。
- DataFlow开发 (C++)
基于GE提供的适用于异构计算场景的DataFlow构图接口构造可直接在昇腾平台上运行的FlowGraph,相关API请参见DataFlow构图接口 (C++)和UDF接口 (C++)。
- 图融合和UB融合规则参考
介绍昇腾AI处理器内置的一些图融合和UB融合规则,图融合和UB融合是整网性能提升的一种关键手段。
领域加速库
维护参考
API
- AscendCL应用开发接口 (C&C++)
AscendCL接口提供系统配置、运行时管理、单算子执行、模型执行、媒体数据预处理等API库,供用户开发人工智能应用。
- AscendCL应用开发接口 (Python)
AscendCL接口提供系统配置、运行时管理、单算子执行、模型执行、媒体数据预处理等API库,供用户开发人工智能应用。
- ISP图像调优接口
ISP提供了3A二次开发、ISP算法调试等API,供开发者进行ISP二次开发及图像质量调试。
- OpenHiva应用开发接口
OpenHiva框架提供的面向机器人的编程接口。
- Ascend C算子开发接口
Ascend C是新一代算子编程语言,支持C和C++标准规范,提供了多层接口抽象、自动并行计算、孪生调试等关键技术,兼顾易用与高效。
- TBE&AI CPU算子开发接口
TBE&AI CPU是上一代算子开发方式,需要开发者同时具备Python与C&C++语言程序开发能力,其中TBE算子运行在AI Core上,AI CPU算子运行在AI CPU上。
- Ascend Graph构图接口
昇腾平台提供了构图接口Ascend Graph API,开发者可以直接通过此API构造直接在昇腾平台上运行的图。
- DataFlow构图接口 (Python)
DataFlow以数据驱动方式将一个或多个计算处理点组织成完整的计算流,通过DataFlow接口可以构建、修改、编译和执行计算图。
- DataFlow构图接口 (C++)
DataFlow以数据驱动方式将一个或多个计算处理点组织成完整的计算流,通过DataFlow接口可以构建、修改、编译和执行计算图。
- UDF接口 (Python)
UDF支持用户通过FuncProcessPoint和GraphProcessPoint编写自定义处理函数。
- UDF接口 (C++)
UDF支持用户通过FuncProcessPoint和GraphProcessPoint编写自定义处理函数。
- HCCL集合通信库接口
HCCL提供了C与Python两种语言的接口,分别用于实现单算子模式与图模式下的框架适配。
- AOL算子加速库接口
提供了一系列丰富的深度优化、硬件亲和的高性能算子,为神经网络在昇腾硬件上加速计算奠定了基础。
- LLM DataDist接口
LLM-DataDist接口提供了集群KV数据管理能力,以支持全量图和增量图分离部署。
- AOE接口
AOE自动调优工具提供调优API用于使能AOE自动调优功能,提供查询知识库API用于查询之前生成的知识库文件,获取tiling。
- 环境变量参考
描述开发者基于CANN构建AI应用和业务过程中可使用的环境变量。
- RPing接口
开发者调用RPing接口可实现网络中的设备定期发送检测报文,记录网络时延,统计报文收发情况。
- 基础数据结构和接口
提供了进行算子开发和图开发时依赖的基础数据结构和接口说明。
- 开放代码基础功能支撑接口
CANN开放代码中依赖的接口,当前包括错误上报接口、日志接口,本文旨在便于您了解这部分接口在CANN开放代码中的作用。
开发工具
- 开发工具快速入门
提供算子开发工具、大模型推理开发工具、PyTorch训练场景开发工具快速入门指导。
- 算子开发工具
算子开发工具集(msKPP、msOpGen、msOpST、msSanitizer、msDebug和msProf等)的使用指导。
- 算子编译工具
算子编译工具是昇腾CANN提供的编译算子生成算子二进制文件的命令行工具。
- ATC离线模型编译工具
ATC是异构计算架构CANN体系下的模型转换工具。
- AOE调优工具
AOE是一款自动调优工具,作用是充分利用有限的硬件资源,以满足算子和整网的性能要求。
- 分析迁移工具
分析迁移工具提供PyTorch训练脚本一键式迁移至昇腾NPU生态的功能,开发者可做到少量代码修改或零代码完成迁移。
- 精度调试工具
帮助开发人员快速解决算子精度问题,提供自有实现算子的运算结果与业界标杆算子运算结果之间差异比对的工具功能。
- 性能调优工具
使用性能分析工具采集和分析AI任务各个运行阶段的关键性能指标,根据输出的性能数据,快速定位软、硬件性能瓶颈。
- HCCL性能测试工具
分布式场景下,通过HCCL性能测试工具测试HCCL集合通信的性能以及功能正确性。
- AMCT模型压缩工具
AMCT工具是针对昇腾芯片亲和的深度学习模型压缩工具,提供量化、稀疏等多种模型压缩特性,压缩后部署模型达到性能提升的目标。
- 算子及模型速查工具
算子和模型速查工具提供了查询当前版本CANN支持的模型和算子信息的功能。
- msleaks内存泄漏检测工具
msleaks内存泄漏检测工具用于模型训练和推理过程中的内存问题定位。