CANN Commercial Edition
Compute Architecture for Neural Networks (CANN) is designed for AI tasks on Ascend hardware. It supports AI frameworks from MindSpore, PyTorch, to TensorFlow. CANN boosts the performance of AI processors and programming, and offers ready-to-use APIs for different uses, allowing you to quickly create AI applications and services on the Ascend platform.
- Release Notes
Describes the version mapping and feature changes of CANN.
- Ascend Product Models
Provides the names of Ascend products.
Environment Setup
Programming Guide
- Ascend C Operator Development
Develops operators based on the Ascend C operator programming language. For details about the APIs, see Ascend C APIs.
- Communication Operator Development
Describes how to develop AI CPU and AIV communication operators based on communication operator APIs.
- Application Development
Provides C, C++, and Python APIs for building AI applications. These APIs help you use the AI processor's compute for tasks like neural network inference, image processing, and scientific computing.
- Graph Development
Provides GE APIs for graph construction, modification, compilation, execution, and other tasks. For details about the APIs, see GE APIs and Basic Data Structures and APIs.
API References
- Ascend C APIs
Provides basic and advanced Ascend C APIs.
- Runtime APIs
Provides unified APIs for applications and frameworks to efficiently utilize AI processor compute.
- GE APIs
Constructs graphs that run directly on the Ascend platform through GE APIs.
- Operator Library
Provides a wide array of high-performance operators with deep optimization and hardware affinity.
- Huawei Collective Communication Library (HCCL)
A high-performance collective communication library based on Ascend AI Processors, enabling data parallelism and model parallelism in single-server multi-device and multi-server multi-device modes.
- HIXL Unilateral Communication Library
Guides developers how to use unilateral communication library APIs for inter-cluster data transmission and build a disaggregated LLM inference framework.
- ATB Acceleration Library
Describes how to use the Ascend Transformer Boost acceleration library to improve the efficiency of Transformer model training and inference development.
- SiP Acceleration Library
Describes how to use high-performance signal processing operators.
- DVPP Media Acceleration Library
DVPP is an image processing unit in the AI Processor that speeds up media processing with APIs. It handles VPC image processing, JPEG encoding and decoding, and video encoding and decoding.
Development Tools
- Development Tool Quick Start
Provides tool guides for PyTorch training development, model inference development, and operator development.
- Operator Development Tools
Describes how to use operator development tools (such as msKPP, msOpGen, msOpST, msSanitizer, msDebug, and msProf).
- Operator Compiler
Builds operators to generate operator binary files.
- Ascend Tensor Compiler (ATC)
Converts a network model into an offline model (.om) supported by Ascend AI processors.
- Ascend Optimization Engine (AOE)
Automates optimization to fully use hardware resources and improve network performance.
- Analysis and Migration Tool
Migrates the PyTorch training script to Ascend NPUs in one click.
- Precision Debugging Tool
Compares precision and pinpoints model issues.
- Profiling Tool
Collects and analyzes profile data in training and inference.
- HCCL Performance Test Tool
Tests HCCL function correctness and performance.
- Ascend Model Compression Toolkit (AMCT)
Compresses a model, including quantization and tensor decomposition.
- Memory Profiler
Locates memory problems during model training and inference.
Compiler
Appendixes
- Troubleshooting
Describes how to locate and rectify faults.
- Log Reference
Describes the log content format, how to view logs, and how to set log levels.
- Environment Variables
Describes the environment variables for building AI applications and services based on CANN.
- Graph Fusion and UB Fusion Patterns
Provides built-in graph fusion and UB fusion patterns of Ascend AI processors. Graph fusion and UB fusion are key methods for improving the performance of the entire network.
- Basic Data Structures and APIs
Describes the basic data structures and APIs on which operator development and graph development depend.
- Version-related Documents
Provides the CANN communication matrix, open-source software notice, and vulnerability fixes list.
Others
- Feature Vector Search
Offers hardware-accelerated APIs for short feature retrieval. These APIs let you add and remove feature libraries, change and delete feature vectors, and perform searches.
- RPing Development
Describes the RDMA-based network detection technology RPing for sending detection packets, recording network latency, and collecting statistics on packet sending and receiving.
- TBE & AI CPU Operator Development
Describes how to develop custom TBE and AI CPU operators using corresponding APIs.
- LLM DataDist Development
Disaggregates model inference using LLM DataDist APIs to improve inference throughput.
- DataFlow Development
Constructs, modifies, compiles, and executes computational graphs through DataFlow C++ and Python APIs, and provides UDF APIs for you to write custom processing functions through FuncProcessPoint and GraphProcessPoint.
- ISP Image Optimization
Describes how to tune algorithms and functions related to the image signal processing (ISP).