CANN 9.1.0 Release Notes

Version Download Address

https://www.hiascend.com/en/cann/download

Version Mapping

CANN Software Version Mapping Table

CANN Driver Version (Ascend HDK)
9.1.0 26.0.RC1

Version Compatibility

CANN and Ascend HDK Version Compatibility

CANN Driver Version (Ascend HDK)
25.0.X 25.2.X 25.3.X 25.5.X 26.0.RC1/25.7.RC1 26.1.0
8.5.2 Y Y Y Y Y Y
9.0.X Y Y Y Y Y Y
9.1.X N Y Y Y Y Y

Internal Matching Relationships of CANN Software Packages

CANN Combination Compatibility

CANN 9.1.0 contains three combination packages: Toolkit, ops (the operator package), and NNAL (the acceleration library). The compatibility between the CANN combination packages and their subpackages is as follows. Six of the subpackages support independent upgrade, allowing users to install them flexibly based on their needs.

Package Subpackage Subpackage Version Architecture
Toolkit ascendnpu-ir 1.2.0 Arm/x86
cann-acl-extend 9.1.0 Arm/x86
cann-aoe 9.1.0 Arm/x86
cann-asc-devkit 9.1.0 Arm/x86
cann-asc-tools 9.1.0 Arm/x86
cann-bisheng-compiler 9.1.0 Arm/x86
cann-dflow-executor 9.1.0 Arm/x86
cann-ge-compiler 9.1.0 Arm/x86
cann-ge-executor 9.1.0 Arm/x86
cann-graph-autofusion 9.1.0 Arm/x86
cann-hcomm 9.1.0 Arm/x86
cann-metadef 9.1.0 Arm/x86
cann-ncs 9.1.0 Arm/x86
cann-npu-runtime 9.1.0 Arm/x86
cann-oam-tools 9.1.0 Arm/x86
cann-opbase 9.1.0 Arm/x86
cann-tbe-tik 9.1.0 Arm/x86
cann-simulator 9.1.0 Arm/x86
cann-pto-isa 9.1.0 Arm/x86
mindstudio-toolkit 26.1.0 Arm/x86
pyACL 9.1.0 Arm/x86
test-ops 9.1.0 Arm/x86
ops cann-dvpp 9.1.0 Arm/x86
cann-opbase 9.1.0 Arm/x86
ops-legacy 9.1.0 Arm/x86
cann-hccl 9.1.0 Arm/x86
cann-hixl 9.1.0 Arm/x86
ops-cv 9.1.0 Arm/x86
ops-math 9.1.0 Arm/x86
ops-nn 9.1.0 Arm/x86
ops-transformer 9.1.0 Arm/x86
ops-ras 9.1.0 Arm/x86
NNAL atb 9.1.0 Arm/x86
sip 9.1.0 Arm/x86

CANN ops and Toolkit Compatibility

The CANN ops package has been decoupled from Toolkit and supports independent upgrade. You can install it as needed.

Compatibility of Independently Upgradable Subpackages in the CANN ops Package

CANN Subpackage VersionSource Code TagCompatible CANN Version
cann-ops-math 9.1.0v9.1.0CANN 9.1.0
CANN 9.0.0
CANN 8.5.2
cann-ops-nn 9.1.0v9.1.0CANN 9.1.0
CANN 9.0.0
CANN 8.5.2
cann-ops-cv 9.1.0v9.1.0CANN 9.1.0
CANN 9.0.0
CANN 8.5.2
cann-ops-transformer 9.1.0v9.1.0CANN 9.1.0
CANN 9.0.0
CANN 8.5.2
cann-hccl 9.1.0v9.1.0CANN 9.1.0
CANN 9.0.0
CANN 8.5.2
cann-hixl 9.1.0v9.1.0CANN 9.1.0
CANN 9.0.0
CANN 8.5.2

For the specific operations of independent subpackage upgrade, see Independent Subpackage Upgrade.

Key Features

  • Ascend 950DT now supported, providing higher bandwidth in training and decode inference tasks.

  • For Atlas A2 products, Atlas A3 products, and Ascend 950 products, core operators such as SMLA and Mhc are added, with adaptation of multiple open-source models including DeepSeek V4, Qwen 3.6, Kimi-K2.6, and GLM5.2.

  • Operator development documentation is now available from basics, advanced operations, to innovation. View details

  • For Ascend 950 products, SHMEM is the first to support AI Cores directly issuing MTE/UDMA/RDMA transfers, enabling UB and RoCE communication, with matching programming APIs provided. View details

  • For Ascend 950 products, CATLASS now supports the Tile components, providing MxFP8/MxFP4 quantization templates and a sample library. View details

  • The operator precision standard is open-sourced, implementing precision determination for floating-point computation operators through mixed tolerance metrics. View details

New Features

Common Modules

  • CPU performance tuning:

    • Toolkit adds the mindstudio-boost subpackage, which targets host-bound services and supports automatic core binding and resource isolation for key threads to tune performance (!1).
  • CANN adapts to different Ascend hardware products and adds OS compatibility support:

    • Atlas 350 accelerator cards adapt to Tlinux 3.3, Tlinux 4.4, and Anolis OS 8.9.

    • Atlas 950 SuperPoD and Atlas 850/850E adapt to openEuler 24.03 LTS SP4.

  • CANN supports Python 3.14.* and supports running CANN on later Python versions.

  • The new query_pkg_version.sh script allows you to query software version information of each component in one click.

Operator Libraries

ops-math

  • Ascend 950PR/Ascend 950DT adaptation and support:

    • Newly adapted operators

    • New operator features

      • BitwiseOr and BitwiseXor support integer data types (!2384).

      • The AddN operator supports aclnn API calls (!2720 !3587).

      • The cholesky operator supports inputs with a large tail axis (!2255).

      • The ReduceSum operator supports bool inputs (!3014).

  • Performance tuning

    • Sorting performance tuning for the Sort operator with a small axis (!2985).

    • Generation performance tuning for random number operators (!3590).

    • Performance tuning for the TopkV2 operator, improving computation efficiency with int64 indices (!2564).

    • TopK operator memory and performance tuning with long sequences (!3183).

    • AICPU operator performance tuning, covering ClipByValueV2 (!2460), ConcatV2 (!2395), and CumSum (!2262).

  • Operator API migration changes:

    • aclnnMatmulCompressDequant and its corresponding kernel files are migrated from the math repository to the nn repository (!2728).

ops-cv

  • The following operators are newly adapted for Ascend 950PR/Ascend 950DT:

    • Newly adapted operators

      • GridSampler2DGrad (!847).

      • UpsampleNearestExact2d/3d (!851).

      • UpsampleNearestExactGrad (!798).

      • UpsampleTrilinear3d (!927).

      • CIoU (!833).

      • BlendFaceBgPartTwo (!825).

      • SpatialTransformer (!698).

      • adjust_saturation (!696).

      • scaleandtranslate (!693).

      • BoundingBoxEncode (!1049).

      • NMSWithMask (!560).

      • ExtractGlimpseV2 and UpsampleBicubic2d (!1039).

      • UpsampleNearestExact1d and its series of backward operators (!830 !798).

    • New operator features

      • AIPP adds CSC color space conversion among multiple formats such as YUV420SP/U8, RGB888/U8, BGR888/U8, and XRGB8888/U8 (!765), and adds dynamic AIPP path support (!802).

      • GridSample2D adds BF16 data type support (!715, !751).

  • Performance tuning

    • Performance tuning for the ResizeNearestNeighborV2 operator in NCHW format (!822).

    • Performance tuning for the GridSamplerGrad operator (!946).

opbase

  • New features

    • Supports float8/float6/float4 data types and documentation (!298, !479, !486).

    • The Reduce template supports mixed precision (!255).

    • Adds static support for non-contiguous input operators (!346, !353).

    • Enhances DFX of log APIs to support standardized log output (!350, !448, !513, !299).

  • Performance tuning

    • Enhances broadcasting non-contiguous tensors (!317).

    • Enhances incremental builds using build.sh by reusing the CMake cache to avoid repeated configuration (!391).

ops-nn

  • Enhances convolution operator functionality and performance, optimizing multimodal networks without degrading memory usage (!735):

    • dX supports splitting W with ultra-large W inputs.

    • dW supports enabling performance tuning for deterministic use cases.

    • dX supports MM conversion in stride=kernel and fmap=kernel scenarios to improve performance.

  • New use case support for Ascend 950PR/Ascend 950DT:

    • Introduces ops-tensor to optimize Cube-type operators based on a layered structure, reducing offset computation and code duplication (!5036).

    • Improves low-bit operators to support precision compensation and optimize whole-network precision for RmsNormDynamicMxQuant (!2894), DynamicBlockMxQuant (!1824), and DualLevelQuantBatchMatmul (!1141).

    • HardswishBackwardV2 (!4817) and SyncBatchNormGatherStatsWithCounts (!5973).

  • nn repo engineering optimization:

    • Ascend 950PR/Ascend 950DT supports static libraries (!3623).

    • Optimizes the kernel configuration script (!3330).

  • Enhances Cube-type operators for Atlas A2 products and Atlas A3 products, optimizing network performance and reducing memory usage in certain use cases:

    • aclnnMatmulWeightNz performance tuning (!5444) (!5105).

    • aclnnTransposeBatchMatmul removes the restriction of B x K < 65536 (!4240).

    • Performance tuning for aclnnBatchMatmul in large-Batch small-MKN cases under the FP32 data type (!6103) (!7264).

    • Cube operators support configuring out_dtype (!4823) (!5481) (!5602).

    • Memory usage optimization for Cube operators (!5356) (!5864).

  • Operator API migration changes:

    • aclnnMatmulCompressDequant and its corresponding kernel files are migrated from the math repository to the nn repository (!4166).

ops-transformer

Attention (Attention/MLA)

  • Adds the SparseFlashMla (sparse FlashMLA) operator, and supports sparse attention KV merging to improve computation and memory access efficiency in long-sequence sparse attention use cases (!6526, !6429).

  • Adds the LightningIndexerV2 operator (!5635).

  • Adds the aclnnBlockSparseAttentionV2 API, and adapts to the FP8-quantized BlockSparseAttention operator. BlockSparseAttention supports performance improvements for FP8 and BSND input layout on A5. The quantized and non-quantized kernels of Ascend 950PR/Ascend 950DT forward/inference tasks support LSE outputs, and the BlockSparseAttentionGrad backward operator is newly added (!4820, !6620, !6264, !6565, !6186).

  • FusedInferAttentionScore supports LSE outputs, and AttentionUpdate supports sp128 on A2/A3 (!5505, !5709).

  • ScatterPaKvCache/GatherPaKvCache now support non-contiguous tensors on the first axis of the cache, and MlaProlog supports non-contiguous KVCache inputs (!6214, !6442).

  • RecurrentGatedDeltaRule supports non-contiguous first two axes of state, and SMLAG adds torch adaptation and new features (!6288, !5916).

MoE

  • MoeInitRoutingV3 supports DropPad in non-quantized tasks, and UnpermuteWithRoutingMap adds non-topk support for the N specification (!5826, !5353).

  • MegaMoe adds A2/A3 tiling, static tensor, and syncfunc functionality, and supplements A2/A3 kernels (!6574, !3608).

GMM (GroupedMatmul) quantization

  • GroupedMatmulFinalizeRouting adds deterministic support for W8A8 use cases on A5 (!6289).

  • GroupedMatmulSwigluQuantV2 adds WeightNz MxA8W4 data flow and MXFP4 weight NZ format support (!5267, !5419, !5272).

  • Enhances GMM and GMMAdd GlistType specifications (!4844, !3725).

MC2 (communication-computation fusion)

  • Adds the AllToAllMatmulV2 operator (!6062).

  • AllGatherMatmulV2 and AllToAllVGroupedMatmul/GroupedMatmulAllToAllV add comm_mode to support selecting the communication engine (!5340, !6103).

  • MatmulReduceScatterV2 adapts to AICPU communication (!5515).

Mhc The following operators are supported for the Atlas A2 products and Atlas A3 products:

Communication Libraries

Collective Communication (HCCL)

  • Ascend 950PR supports the allGatherV/reduceScatterV operators in CCU use cases (!303, !207).

  • Ascend 950PR supports integrating communication operators into graphs in GE graph mode and aclGraph mode (!183, !164, !296).

  • Ascend 950PR supports N-second fast recovery, improving the reliability of collective communication operations (!1126, !1609, !421).

  • Ascend 950PR supports maintenance and testing capabilities such as task exception and profiling, allowing you to pinpoint issues quickly (!937, !1472, !267, !332).

  • On Ascend 950PR, the HcclChannelAcquire API supports AIV directly issuing RoCE and URMA transfers, supporting custom development of MC2 operators (!2032).

  • On Atlas A2/A3 products, the multi-process-per-device capability now supports MC2 use cases (!1880).

  • On Atlas A2/A3 products, resource management is optimized in aclGraph use cases to support incremental refresh of communication resources (!2405, !2502).

  • On Atlas A2/A3 products, performance is enhanced in cross-SuperPoD use cases, and the ReduceScatter/AllGather operators support the cross-SuperPoD pipeline algorithm (!2071, !1931).

  • On Atlas A2/A3 products, communication is now supported for dual-machine back-to-back RoCE direct-connect models (!2642, !3433).

  • Atlas 350 accelerator cards support communication across PCIE SW (!1799, !707), and operators such as AllReduce, ReduceScatter, AllGather, Reduce, Scatter, Alltoall, Alltoallv, Send, and Recv support communication.

HIXL

  • Open underlying APIs: The Client-Server one-sided communication capabilities comprehensively improve link establishment specifications and performance. Deep optimization for batch small-buffer transfers effectively reduces on-chip memory use and communication resource overhead (!138).

  • HIXL network transport protocol extension: HIXL adds UBC, UBoE, and Host RoCE protocol support, fully covering D2D, D2rH, rH2D, and H2H data transfers across all use cases (!37). For the protocol support list of different product forms, visit the HIXL community.

  • HIXL intelligent link management upgrade: Automatic acquisition of communication resources and intelligent route selection (!181) allow for simple, on-demand link establishment (!245).

  • HIXL programming API enhancement: Extends APIs for asynchronous link management (!207) and batch query of transfer status (!208), speeding up upper-layer service development.

Graph Engine

  • Supports recovery on Ascend 950DT.

  • ge.autoMultistreamParallelMode adds the MainStream and LoadBalance options. Based on the Minimum Path Cover algorithm, it automatically partitions the compute nodes of a static shape model into the minimum number of logical streams to achieve multi-stream parallel acceleration.

  • Adds the PortableOp operator type, which provides serialization and deserialization capabilities for custom operators in offline inference tasks.

  • ATC and aclgrph APIs support setting the cluster configuration file path, which is used to generate offline OM models containing HCCL communication tasks, meeting the communicator configuration requirements in multi-device offline inference tasks.

Domain-specific Acceleration Libraries

Ascend Transformer Boost (ATB)

  • Integration of core operators on Ascend 950PR/Ascend 950DT

    Realizes GELU, LayerNorm, MatmulEinSum, RmsNormQuant, SwiGluQuant (ACLNN V2), linear dequantization, and supports communication operators such as AllGather/AllReduce/ReduceScatter (!1994, !2089, !2090, !2060, !2097, !2103, !2091).

  • Attention/KV Cache inference enhancement

    • Paged Attention: Upgrades FusedInferAttention V5 on Ascend 950 products (!2069).

    • Paged Attention and Flash Attention now support the NORM_COMPRESS mask (!2114, !2116, !2078).

    • MLA decode supports Sliding Window Attention (SWA).

    • ReshapeAndCache supports single-input single-output on Ascend 950 products (!2065).

  • Independent compilation and ABI system of torch_atb

    • torch_atb is decoupled from the main library for independent compilation, and the default output package ABI is switched to cxx_abi_1 (!2021).

    • Supports wheel naming convention and automatic torch detection/installation for the installation script. The installation and deployment pipeline is fully connected (!2086, !2118).

Ascend Signal Processing Boost (SiP)

  • The following operators are newly adapted on Ascend 950PR/Ascend 950DT:

    • FFT 1D C2C (!69)

    • FFT 1D C2R (!73)

    • FFT 1D R2C (!73)

    • Hadamard (!76)

Runtime

Supports stream specification expansion for AclGraph on Ascend 950DT to resolve issues such as insufficient resources for AI models (!2976).

Operator Programming

Key Features

  • Debugging

    • The Ascend C framework basic APIs support NPU Check (!1557, !1467), enhancing runtime validation for operators.

    • printf and reg dump printing are supported in SIMD VF (!1605), providing debug printing and register data dumps.

    • Ascend 950PR/Ascend 950DT supports DumpTensor for L1 tensor data (!2175), extending L1 data debugging support.

    • Adds optype_collector, a tool that can check for duplicate optype names (!285).

  • Build project

    • CMakeModule supports CMAKE_<LANG> options (!2055).
  • Basic APIs

    • Supports setting saturation overflow management for the ctrl register (!2077).
  • SIMT programming

    • Adds ld/st APIs (!2058) and AddrSpace APIs (!1597), extending SIMT memory access programming capabilities.

Sample Updates

  • SIMD samples:

    • New best practice samples: Matmul+GELU fusion, datacopy optimization, bank conflict optimization, group_matmul quantized group matrix multiplication, and SIMT & SIMD high-performance programming (!1814, !2137, !2141, !2166, !2363).

    • Ascend 950PR/Ascend 950DT new feature samples and compatibility sample rectification: loopmode data transfer, interleave vector computation, datacopy_gm2l1, loadmx (Load2DMX), mmad_mx, data_copy_pad, etc. (!2336, !1899, !2124).

    • New RegBase basic samples: basic arithmetic, data type conversion, reduction, comparison, indexing, and other samples (!1459, !1575, !2024).

    • Adds SIMD VF print samples and dump samples (!2558).

    • New getting-started and best-practice samples for tensor APIs: Matmul quick start, data copy-in/-out, on-the-fly quantization on copy-out, and MX FP4 best practices (!2553).

  • SIMT samples:

    • New SIMT optimization feature samples: DCache access optimization sample (!2453), transpose-based memory access coalescing and bank conflict sample (!1753), and best-practice sample: improving transfer efficiency through type alignment (!2297).

    • New SIMT functional feature samples: registering custom operators in PyTorch (!2769), compilation-related samples (dynamic, static, separate compilation, etc.) (!2356), profiling sample (!1989), memory barrier feature sample (!1923), Warp class feature sample (!2876), simulator sample (!2692), and kernel log sample (!2131).

PTO Virtual Instruction Set

  • Basic Vector & Cube instructions:

    • Supports high-precision versions of Vector instructions (!896, !782, !815, !717, !648, !695).

    • Supports transdata use cases (!950, !977).

    • TSTORE and TLOAD support 3D convolution (!904, !912).

    • Adds MGATHER/MSCATTER instructions (!935, !1136, !309, !889).

    • Reduce instructions support return values and corresponding indices (!1124, !928).

    • TQUANT supports MXFP8/MXFP4 quantization (!1187, !1143).

    • Axis-merging instructions support type enhancement; TMOV/TEXTRACT/TINSERT support Vec-to-Vec (!1196).

  • Communication instructions:

    • Adds CCU asynchronous communication instructions TGATHER, TBROADCAST, TSCATTER, and TREDUCE for Ascend 950 products (!915).

    • Supports the all-core synchronization instruction SYNCALL (!907).

    • Adds the asynchronous prefetch instruction (!116).

    • TPUT_ASYNC and TGET_ASYNC add support for A5 URMA-based asynchronous communication (!991).

  • CostModel simulation:

    • Adds operator-level Costmodel on Atlas A2 products and Atlas A3 products, supporting output of operator performance, pipeline time, swimlane diagram, and other information (!1004).

    • Integrates the CCE Mock solution, supporting performance prediction for existing A2/A3 instructions (!772).

  • CPU-SIM: Adds CPU simulation instructions, like those for NPUs.

Removed and Deprecated Features

NOTE

  • Deleted features are those that have been removed in the current version.

  • Deprecated features are those marked as deprecated in the current version and will be removed in future versions.

  • Replace ${install_path} in this section with the CANN software installation path.

Runtime

The following directories, files, and APIs are marked as deprecated in CANN 9.1.0 and are planned for removal in versions after June 30, 2027.

Deprecated Directories, Files, and APIsReplacement Directories, Files, and APIs
Header files in the include/driver directorypkg_inc/driver directory

The following directories, files, and APIs are marked as deprecated in CANN 8.5.0 and are planned for removal in versions after December 30, 2026.

Deprecated Directories, Files, and APIsReplacement Directories, Files, and APIs
${install_path}/ascend-toolkit/latest/runtime/include/acl${install_path}/cann/include/acl
${install_path}/ascend-toolkit/latest/runtime/include/aclnn${install_path}/cann/include/aclnn
${install_path}/ascend-toolkit/latest/runtime/include/graph${install_path}/cann/include/graph
All header files under ${install_path}/cann/pkg_inc/runtime/runtime will be removedNo related functionality will be provided in later versions
The rtGetC2cCtrlAddr API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_ffts.h.Replace with the aclrtGetHardwareSyncAddr API in ${install_path}/cann/include/acl/aclrt.h
The rtFftsTaskLaunch and rtFftsTaskLaunchWithFlag APIs are deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_ffts.h.No related functionality will be provided in later versions
The rtBindHostPid, rtUnbindHostPid, rtProfSetProSwitch, rtQueryProcessHostPid, rtGetDeviceIdByGeModelIdx, rtGetExceptionRegInfo, rtGetMaxModelNum, rtLabelGoto, rtLabelGotoEx, rtProfilerConfig, rtProfilerInit, rtProfilerTrace, rtProfilingCommandHandle, rtProfRegisterCtrlCallback, rtSetDeviceIdByGeModelIdx, rtSetExceptCallback, rtSetMsprofReporterCallback, rtSetProfDirEx, and rtUnsetDeviceIdByGeModelIdx APIs are deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.No related functionality will be provided in later versions
The rtGetBinaryDeviceBaseAddr API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtBinaryGetDevAddress API in ${install_path}/cann/include/acl/aclrt.h.
The rtGetTaskIdAndStreamID API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtGetThreadLastTaskId and aclrtStreamGetId APIs in ${install_path}/cann/include/acl/aclrt.h.
The rtLabelCreate, rtLabelCreateEx, rtLabelCreateExV2, and rtLabelCreateV2 APIs are deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtCreateLabel API in ${install_path}/cann/include/acl/aclrt.h.
The rtLabelListCpy API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtCreateLabelList and aclrtDestroyLabelList APIs in ${install_path}/cann/include/acl/aclrt.h.
The rtLabelSet API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtSetLabel API in ${install_path}/cann/include/acl/aclrt.h.
The rtLabelSwitchByIndex API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtSwitchLabelByIndex API in ${install_path}/cann/include/acl/aclrt.h.
The rtProfilerTraceEx API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtProfTrace API in ${install_path}/cann/include/acl/aclrt.h.
The rtRegDeviceStateCallbackEx API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtRegDeviceStateCallback API in ${install_path}/cann/include/acl/aclrt.h.
The rtRegTaskFailCallbackByModule API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtSetExceptionInfoCallback API in ${install_path}/cann/include/acl/aclrt.h.
The rtSetIpcMemorySuperPodPid API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtIpcMemImportPidInterServer API in ${install_path}/cann/include/acl/aclrt.h.
The rtSetIpcNotifySuperPodPid API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtNotifySetImportPidInterServer API in ${install_path}/cann/include/acl/aclrt.h.
The rtSetTaskAbortCallBack API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtSetTaskAbortCallBack API in ${install_path}/cann/include/acl/aclrt.h.
The rtSetTaskFailCallback API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtSetExceptionInfoCallback API in ${install_path}/cann/include/acl/aclrt.h.
The rtStreamGetMode API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtGetStreamAttribute API in ${install_path}/cann/include/acl/aclrt.h.
The rtStreamSetMode API is deprecated in ${install_path}/ascend-toolkit/latest/toolkit/include/experiment/runtime/runtime/rt_base.h.Replace with the aclrtSetStreamFailureMode and aclrtSetStreamOverflowSwitch APIs in ${install_path}/cann/include/acl/aclrt.h.
The aclsysGetCANNVersion API is deprecated in ${install_path}/ascend-toolkit/latest/include/acl/acl.h.Replace with the aclsysGetVersionStr and aclsysGetVersionNum APIs in ${install_path}/cann/include/acl/acl.h.
libascendcl.so is deprecated in ${install_path}/ascend-toolkit/latest/lib64.Replace with the libacl_rt.so, libacl_mdl.so, and libacl_op_executor.so library files in ${install_path}/cann/lib64.

Graph Engine

The following directories, files, and APIs are marked as deprecated in CANN 8.5.0 and are planned for removal in versions after December 30, 2026.

Deprecated DirectoriesReplacement Directories
${install_path}/ascend-toolkit/latest/runtime/include/graph${install_path}/cann/include/graph
${install_path}/ascend-toolkit/latest/compiler/python/func2graphfunc2graph in the ${install_path}/cann/x86_64-linux/python directory

Starting from Ascend 950 products, the aclblas and aclop APIs are no longer recommended. They will be gradually deprecated in later versions. Migrate to the corresponding aclnn operator APIs.

Operator Libraries

  • Incompatibility changes: Control operators Identity, IdentityN, Rank, Shape, and ShapeN are migrated from ops-nn to ops-math. These operators are migrated from the ops_proto_nn.h and es_nn directories to the ops_proto_math.h and es_math directories. You need to update the related header file references (!2333, !3995).

The following directories, files, and APIs are marked as deprecated in CANN 9.0.0 and will be removed in later versions after March 30, 2027.

Deprecated Directories, Files, and APIsReplacement Directories, Files, and APIs
aclnnGroupedMatMulAllReduce APIaclnnMatmulAllReduce
aclnnGroupedMatmul, aclnnGroupedMatmulV2, aclnnGroupedMatmulV3, and aclnnGroupedMatmulV4 APIsaclnnGroupedMatmulV5
aclnnFusedInferAttentionScore, aclnnFusedInferAttentionScoreV2, and aclnnFusedInferAttentionScoreV3 APIsaclnnFusedInferAttentionScoreV4
aclnnIncreFlashAttention, aclnnIncreFlashAttentionV2, and aclnnIncreFlashAttentionV3 APIsaclnnIncreFlashAttentionV4
aclnnPromptFlashAttention and aclnnPromptFlashAttentionV2 APIsaclnnPromptFlashAttentionV3
aclnnMlaProlog and aclnnMlaPrologV2WeightNz APIsaclnnMlaPrologV3WeightNz
aclnnMatmulAllReduceAddRmsNorm APIaclnnMatmulAllReduce and aclnnAddRmsNorm
aclnnQuantMatmulAllReduceAddRmsNorm APIaclnnQuantMatmulAllReduceV2 and aclnnAddRmsNorm
aclnnWeightQuantMatmulAllReduceAddRmsNorm API (deprecated)aclnnWeightQuantMatmulAllReduce and aclnnAddRmsNorm
aclnnInplaceQuantMatmulAllReduceAddRmsNorm APIaclnnQuantMatmulAllReduceV2 and aclnnAddRmsNorm
aclnnInplaceMatmulAllReduceAddRmsNorm APIaclnnMatmulAllReduce and aclnnAddRmsNorm
aclnnInplaceWeightQuantMatmulAllReduceAddRmsNorm APIaclnnWeightQuantMatmulAllReduce and aclnnAddRmsNorm

The following directories, files, and APIs are marked as deprecated in CANN 8.5.0 and are planned for removal in later versions after December 30, 2026.

Operators are split into component packages. Each independent component package of different operators contains multiple libraries and header files. In the following table, ${ops_project} represents the actual cv, math, nn, transformer, and legacy.

Deprecated Directories, Files, and APIsReplacement Directories, Files, and APIs
${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/*.h${install_path}/cann/opp/built-in/op_graph/inc/${ops_project}_ops_proto.h
${install_path}/ascend-toolkit/latest/lib64/libopapi.so${install_path}/cann/lib64/libopapi_${ops_project}.so
aclnnGroupedMatMulAllReduce APINo replacement functionality
aclnnWeightQuantBatchMatmul APIaclnnWeightQuantBatchMatmulV3 API
aclnnQuantMatmul, aclnnQuantMatmulV2, aclnnQuantMatmulV3, and aclnnQuantMatmulV4 APIsaclnnQuantMatmulV5 API
aclnnGroupedMatmul, aclnnGroupedMatmulV2, aclnnGroupedMatmulV3, and aclnnGroupedMatmulV4 APIsaclnnGroupedMatmulV5 API
aclnnIncreFlashAttentionV2 and aclnnIncreFlashAttentionV3 APIsaclnnIncreFlashAttentionV5 API
aclnnPromptFlashAttentionV2 APIaclnnPromptFlashAttentionV3 API
aclnnFusedInferAttentionScoreV2 and aclnnFusedInferAttentionScoreV3 APIsaclnnFusedInferAttentionScoreV4 API

Acceleration Libraries

The following directories, files, and APIs are marked as deprecated in CANN 8.5.0 and will be removed in versions after December 30, 2026.

The following operator IRs are deprecated for the DVPP acceleration feature: Crop, CropAndResize, DecodeAndCropJpeg, DecodeJpeg, PadV3D, Resize, ResizeV2, ResizeBicubic, ResizeBilinearV2, ResizeNearestNeighborV2, ReverseV2, WarpPerspective, WarpAffineV2, AdjustContrast, AdjustHue, AdjustSaturation.

Deprecated Directories, Files, and APIsReplacement Directories, Files, and APIs
The AdjustBrightness operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image.hacldvppAdjustBrightness API
The AdjustBrightnessV2 operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image.hacldvppAdjustBrightness API
The AdjustContrastWithMean operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image.hacldvppAdjustContrast API
The AdjustSaturationV2 operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image.hacldvppAdjustSaturation API
The GaussianBlur operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image.hacldvppGaussianBlur API
The ImgCrop operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image.hacldvppCrop API
The RgbToGrayscale operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image.hacldvppRgbToGrayscale API
The Rotate operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image.hacldvppRotate API
The CropAndResizeV2 operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image_ops.hacldvppCropAndResize API
The ImgToTensor operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image_ops.hacldvppImgToTensor API
The NormalizeV2 operator IR will be deprecated from ${install_path}/ascend-toolkit/latest/opp/built-in/op_proto/inc/image_ops.hacldvppNormalize API

Debugging and Analysis Tools

The following directories, files, and APIs are marked as deprecated in CANN 8.5.0 and will be removed in later versions after December 30, 2026.

Deprecated Directories, Files, and APIsReplacement Directories, Files, and APIs
The profiling header files aprof_pub.h, prof_api.h, and prof_common.h are deprecated from the path ${install_path}/ascend-toolkit/latest/include/experiment/msprof/toolchain.The storage path of the profiling header files aprof_pub.h, prof_api.h, and prof_common.h is changed to ${install_path}/cann/pkg_inc/profiling.

Diagnostics

The following directories, files, and APIs are marked as deprecated in CANN 8.5.0 and will be removed in later versions after December 30, 2026.

Deprecated Directories, Files, and APIsReplacement Directories, Files, and APIs
Error Manager header file ${install_path}/ascend-toolkit/latest/include/experiment/metadef/common/util/error_manager/error_manager.hError Manager header file ${install_path}/cann/include/base/err_msg.h
REPORT_INNER_ERROR and REPORT_CALL_ERROR APIs in ${install_path}/ascend-toolkit/latest/include/experiment/metadef/common/util/error_manager/error_manager.hREPORT_INNER_ERR_MSG API
REPORT_INPUT_ERROR and REPORT_ENV_ERROR APIsREPORT_PREDEFINED_ERR_MSG API
Log header file ${install_path}/ascend-toolkit/latest/include/toolchain/slog.hLog header file ${install_path}/cann/pkg_inc/base/dlog_pub.h
Log header file ${install_path}/ascend-toolkit/latest/include/base/alog_pub.hLog header file ${install_path}/cann/pkg_inc/base/dlog_pub.h
AlogCheckDebugLevel API in ${install_path}/ascend-toolkit/latest/include/base/alog_pub.hCheckLogLevel API in ${install_path}/cann/pkg_inc/base/dlog_pub.h
AlogRecord API in ${install_path}/ascend-toolkit/latest/include/base/alog_pub.hDlogRecord API in ${install_path}/cann/pkg_inc/base/dlog_pub.h or wrapped macros such as dlog_error and dlog_warn

Model Compression Toolkit

The following features of the Model Compression Toolkit are marked as deprecated in CANN 9.0.0 and have been removed in this version.

  • Non-uniform quantization

  • Automatic mixed precision

  • Approximate calibration

  • int4 quantization-aware training

  • All amct_mindspore features

Known Issues

Symptom: When the value of the input parameter deqScale of the operator aclnnMatmulCompressDequant is inf/-inf, inf or nan is displayed in its precision details. [Introduced in] CANN 8.5.0 [Impact] Triggered by specially constructed test cases, not introduced by a new operator, and in actual quantization tasks there is no case where deqScale is -inf or inf. The impact is controllable in the current version. [Workaround] In actual quantization tasks, there is no case where deqScale is -inf or inf.

Fixed Issues

The following issues are fixed in version 9.1.0:

  • Fixed the issue where the QuantBatchMatmulV3 operator on Atlas inference products caused read/write conflicts when AUTO_SYNC=false was specified during compilation.

  • For Atlas A2 products and Atlas A3 products, fixed the issue where the MatmulReduceScatterV2 operator cleared the flag bit too quickly in cases with M less than 512, causing other devices to fail to detect it and eventually time out.

  • Fixed the issue where, with MoE EP on Atlas A2 products, multi-bit faults injected into the on-chip memory of a D node prevented entry into the quick recovery process.

  • Fixed the issue where communication timeout occurred probabilistically at random step positions after 500+ steps in a 4k-device training task.

  • Fixed the refill backlog issue caused by frequent task interruption and restart of decode in PD disaggregation.

  • Fixed the issue where the IR prototype name conflict between user-defined custom operators and built-in operators in the open-source repository caused the IR prototype name not to take effect.

  • Fixed the issue where the aclnnAddmv operator occasionally triggered core dump during load testing.

  • Fixed the issue where an exception was reported when a 10,000-device task was launched.

  • Fixed the issue where MatMulV3 performance was worse than MatMulV2 for specific shapes in aclgraph use cases.

  • Fixed the precision issues for fused_quant_mat_mul.

  • Fixed the precision issues of BatchMatmulV2 with specific bias.

  • Fixed the precision issues of the FAG operator with short-sequence GQA and NoMask.

Documentation Changes

Programming Guide

Ascend C Operator Development

  • Optimized the "Quick Start" chapter:

    • Updated the Ascend C learning path.

    • Added a general description of heterogeneous systems and the programming model.

  • Optimized and adjusted the SIMD programming model chapter in the Programming Guide, categorized by the dimensions of C API programming based on the language extension layer, tensor-based C++ programming, and Tpipe- and TQue-based programming.

  • Added SuperKernel and SIMT Cooperative Groups sections under Advanced Programming in the Programming Guide.

  • Ascend C API has undergone a large-scale restructuring. The changes are as follows:

    • The directory structure of data movement APIs and matrix computation APIs has been adjusted: closely related APIs are placed adjacent to each other. For example, the movement APIs related to matrix computation are placed under the matrix computation directory.

    • The API directory structure was organized by use cases: for example, matrix computation is divided into matrix computation copy-in, Mmad computation, and matrix computation copy-out.

    • For each type of APIs, necessary basics, concepts and principles, general constraints, key features, and other descriptions were added.

    • Added constraint descriptions and notes on special parameter values for each API.

    • Added an API appendix that includes a summary of API pipeline types, theoretical performance, and API boundary values.

  • Added the tensor API reference. Tensor APIs are experimental and may be adjusted or improved in later versions, and backward compatibility is not guaranteed. You should pay attention to updates in later versions during use.

  • Added documentation on matrix computation overview and computation fractal introduction (!2533).

  • Optimized the vector computation API documentation and added instruction constraints (!2676).

  • Added an overview of SIMD and SIMT hybrid programming performance optimization (!2736).

  • Built a VitePress documentation site for AscendC documentation preview (!2547).

Communication Operator Development

  • Added the "Programming Models and Concepts > CCU Programming Models and Concepts" section.

  • Added the "Communication Operator Development > CCU Operator Development" section.

  • Added the following APIs to the communication operator development APIs.

    • Added documentation about CCU kernel lifecycle and memory token management to control plane APIs.

    • Added CCU APIs to data plane APIs.

Graph Development

Added the following sections:

  • Custom Pass Development > Modifying a Graph with a Custom Pass > Implementing a Pass Based on Pattern Matching (Python)

  • Programming Guide > SuperKernel Fusion Scope Calibration

  • Integrating Custom Operators into a Graph > Integrating Custom Operators into a Graph

API Reference

GE APIs

  • API Reference > Python APIs > pyatc API: Added the atc command-line tool for Python.

  • Basic Data Structures and APIs of Graphs > options parameter description > ge.tiling_schedule_optimize: Modified the parameter level from the original global session level to all levels.

Operator Libraries

  • The "Operator Libraries > AI Framework Operator Support List" section from previous versions is now separated into an independent manual, AI Framework Operator Support List, newly added in this version.

  • Added the "Operator Libraries > Operator APIs (torch_extension)" section.

  • Added the RAS APIs section to "Operator APIs (aclnn)".

  • Added a multi-platform migration guide for migrating the operators in the ops-cv library from Atlas A2 products to Ascend 950PR/Ascend 950DT.

Communication Libraries

HCCL

References > Communication Operator Support List: Added the Ascend 950PR/Ascend 950DT support list.

Domain-specific Acceleration Libraries

Ascend Transformer Boost (ATB)

  • Added a test framework guide, supplementing the instructions on build and run dependencies for testframework (!2120).

  • Added instructions on how to determine the cxx_abi version (!2121).

  • Updated documentation links to CANN 9.1 and PyTorch 26.0.0 (!2126).

  • Corrected the ATB_BUILD_DEPENDENCY_PATH and ABI determination instructions, covering README/FAQ/test framework guide (!2136).

Development Tools

Ascend Tensor Compiler (ATC)

Parameter --framework: Added a note that the Caffe framework is no longer evolving in its current form, and model conversion availability is not guaranteed.

Ascend Model Compression Toolkit (AMCT)

Added the "LLM-based Quantization" chapter.

Fixed Vulnerabilities

For details about the fixed vulnerabilities for open-source and third-party software in this version, see Fixed Vulnerabilities.