1、CANN与Ascend HDK版本配套关系
2、 CANN组合包版本配套关系
3、 CANN独立升级子包版本配套关系
4、CANN开源子包版本配套关系
新增apt和pip安装方式。当前已支持conda、yum、apt、pip四种主流安装方式,进一步提升了不同环境下的部署灵活性。同时,新增CANN一站式下载安装能力,提供产品型号与软件包查询命令及自动匹配机制,简化安装流程,提升软件获取与部署效率。
在Atlas A2 系列产品和Atlas A3 系列产品上,DSA系列算子进一步提升流水并行度,其中SFAG算子性能提升至2x~6x+,模型提升至1.5x+,加速效果显著。新增支持确定性计算能力,可满足对结果一致性要求较高的场景需求,有助于提升训练与推理过程中的可复现性,并便于问题定位和稳定性验证。
在Atlas A2 系列产品和Atlas A3 系列产品上,新增支持块稀疏Attention算子(Block-wise Sparse Attention,BSA)。在按Block划分的稀疏模式下,相比通用Flah Attention,90%稀疏率情况下,BSA计算量降低90%,执行速度提升至5x。该能力对多模态模型优化尤为关键,wan2.2和hunyuanvideo1.5在70%稀疏率时,模型分别提升至1.7x和1.5x。
在Atlas A2 系列产品和Atlas A3 系列产品上,HCCL新增支持批量通信合并机制(HcclGroupStart/HcclGroupEnd接口),支持将多个通信操作合并后统一提交与执行。该机制可支持send/recv异步下发,提升小消息、高频通信场景下的执行效率。
- CANN提升安装部署的易用性:
- CANN新增apt-get、pip在线安装方式。
- CANN增加合一包:合一包由昇腾NPU驱动和Toolkit组成,支持一键式安装和通过--whitelist参数指定安装。
- CANN的ops算子包下新增Ascend-cann-950-ops包,支持Ascend 950PR算子功能。
- CANN适配不同的昇腾硬件产品,新增OS兼容性支持。
- 新增支持Atlas 350 加速卡,并适配veLinux 2.0、Alinux 3。
- Atlas 200T A2 Box16适配Ubuntu 22.04.5。
- Atlas 800T A2、Atlas 800I A2、Atlas 900 A2 PoDc 适配UOS V25(6.6内核)。
- Atlas 800I A2适配AntOS(6.6内核)。
- Atlas 800T A3、Atlas 900 A3 SuperPoD适配CTyunOS4-25.07、UOS V25(6.6内核)。
- CANN支持numpy 2.x 版本,支持CANN在高版本numpy下运行。
- lstm系列算子开源:
- 低bit类算子和融合算子支持更多数据类型:fp8/mxfp8/hifp8/mxfp4等,并支持pertensor/perchannel/pertoken/pergroup/perblock等不同量化和组合方式:
- 开源算子支持Ascend 950PR:
- Ascend 950PR支持Parallel Welford和超长轴二分累加算法,提高Norm类算子的数值稳定性与计算精度,该特性主要涉及算子:
- Ascend 950PR新增MM融合算子:
[object Object]算子基于Ascend 950PR支持mxfp8 weightNz特性,提升网络推理性能()。- 支持SIMD/SIMT新同构编程算子实现:
- 新增<<<>>>的算子开发样例()。
- 支持编译生成静态库,发布的nn独立组件包携带静态库()。
- 新增支持按模板编译特定算子kernel能力()。
- 提供matmul、卷积、norm和hash类算子编程的优秀实践:
- 新增支持LSTM/LSTMCell通过aclnn接口调用,能显著缩短使用LSTM算子的语音处理等模型通过torch api调用时,host侧的编译耗时。
- aclnnScatter/aclnnScatterValue/aclnnScatterAdd等索引类接口实现dim!=-1场景的内存优化。对于使用scatter或scatter_add接口的模型训练或推理场景,在dim!=-1时有明显内存收益。
- transformer相关算子在Atlas A3系列产品上能力完善:
- DSA系列算子支持确定性计算。SparseFlashAttentionGrad、LightningIndexerGrad、DenseLightningIndexerGradKLLoss等算子支持确定性计算。对于DeepSeekV3.2模型训练,开启确定性计算,Attention部分可保证相同输入多次执行结果一致。
- 新增MatmulAllToAll、AllToAllMatmul通算融合算子。对于采用Ulysses并行的M级超长序列训练模型,使用该算子可提升模型性能。
- GmmSwigluQuantV2 支持i4进i8出、A4W4动态分块优化。Gmm A4W4 支持NZ转置 动态分块优化
- Moe permute RoutingMap系列支持bf16token时,传入的probs为fp32。MoeInitRoutingQuantV2算子支持INT4和SmoothQuant。
- M-RoPE融合算子泛化mrope_section支持[16, 16, 16, 16]、[24, 20, 20],mrope算子 prefill 性能优化。
- aclnnScatterPaKvCache支持FIA算子NZ场景,模型侧使用FIA算子能获取NZ使能的性能收益。
- FAG SAMEAB模板和BN2模板基础API优化重写,相对CANN 8.5.0 版本,泛化测试平均优化1%+和10%+。
- FAG部分场景(layout=BSND/BNSD/SBH,sparsemode=0/2/3,dtype=bfloat16,S1=S2),对其确定性性能进行了优化,这些场景可提升模型确定性性能。
- 新增Floyd attention正反向算子(Fuse Floyd Attention/Fuse Floyd Attention Grad),相比Floyd结构的小算子拼接,通过流水混排10个matmul,融合性能优化30% +,内存占用降低 70%+。
- RingAttentionUpdate算子支持Ascend 950PR。
- image类算子支持Ascend 950PR,覆盖
[object Object]、[object Object]、[object Object]、[object Object]等( )。 - CI对Ascend 950PR的编译与 UT 识别能力增强( 、、)。
- 算子的example支持在仿真(simulator)上执行,可在不依赖真实硬件的场景下进行样例编译与执行验证,便于Ascend 950PR适配前置联调与回归( )。
- 新增RoiPoolingWithArgMax、RoiPoolingGradWithArgMax目标检测类算子,支持Ascend 950PR,支撑faster-rcnn模型功能打通。
- 新增支持CIou通过aclnn接口调用,支持Ascend 950PR上mmcv功能打通。
- 新增Col2im目标检测算子,支持Ascend 950PR,支撑智驾模型BEVfusion模型训练。
- 新增Rasterizer算子实现光栅化计算,根据三维空间点和面计算每个像素点的最小深度及其对应的面片索引,对于多模态3D生成场景使用该算子可提升模型性能。
- 数学运算、张量变换及随机数生成支持Ascend 950PR,覆盖
[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]等()。 - aclnnMul/aclnnMuls/aclnnAdd/aclnnAdds/aclnnSum等API支持非连续输入,使相关接口性能得到提升、内存占用有优化()。
- Sort算子在Ascend 950PR上相较于Atlas A3,新增UINT16/UINT32/UINT64类型。Atlas A3支持的数据类型在Ascend 950PR性能平均提升1.5+倍( )。
- 离散类张量变换类算子性能优化,覆盖
[object Object]、[object Object]、[object Object]( )。 - 算子的example支持在仿真(simulator)上执行,可在不依赖真实硬件的场景下进行样例编译与执行验证,便于Ascend 950PR适配前置联调与回归( )。
- 算子工程支持kernel并行编译()。
- 算子工程日志优化()。
- 算子CI支持算子增量UT与冒烟( )。
- 算子构建脚本支持导出预编译文件,降低算子问题定位难度()。
- 支持Docker部署()。
- 新增ChunkCat融合算子,在FSDP2框架下训练时需要该算子做权重合并,相较于小算子拼接,内存降低30%,减少模型峰值显存,同时能够提升模型性能。
- aclnnDiv/aclnnDivs接口支持混合数据类型输入,优化算子内存占用。
- 新增logspace算子aclnn接口调用,提升接口易用性。
- aclnnReplicationPad3d补充支持bfloat16数据类型,提升多模态生成场景接口易用性。
- aclnnReplicationPad2dBackward接口内存优化,减少峰值内存使用,提升算子易用性。
- 通信算子支持Ascend 950PR,覆盖
[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]、[object Object]等()。 - 在Atlas A3 系列产品的超节点内AICPU场景下 AlltoAll算子支持使用对称内存功能()。
- 在Atlas A3 系列产品的AICPU场景下,ReduceScatter&AllReduce算子支持Batch一致性()。
- 在Atlas A3 系列产品的超节点内 ReduceScatter&AllReduce&AllGather&AlltoAll算子支持多机间的superkernel()。
- 支持离线编译,提升构建易用性()。
- 在Atlas A2 系列产品和Atlas A3 系列产品上,HCCL支持批量通信合并机制(HcclGroupStart/HcclGroupEnd接口),支持将多个通信操作合并后统一提交与执行。该机制可提升小消息、高频通信场景下的执行效率,也可以更好地支持多个点对点通信的统一调度。
- 在Atlas A2 系列产品上,单边通信新增支持AICPU加速模式。在PD分离部署场景下,相比于当前host cpu调度模式,推理pullkvcache数据量小于128K时,AICPU加速模式性能提升50%+。
- 优化Atlas A2 系列产品上跨机确定性算法性能,性能提升2x,相比于未开确定性计算场景,劣化<30%。在确定性场景下,有明显收益。
- 在Atlas A3 系列产品上支持按通信域粒度配置HCCL展开方式(AICPU/AIV等),提升配置灵活性。
- 在Atlas A3 系列产品上,allreduce/allgather/reducescatter/alltoall算子支持对称内存特性,提升算子执行性能。
- 在Atlas A3 系列产品上,allreduce/reducescatter算子在AICPU展开模式时支持batch一致性。
- 支持同一物理机内多容器间(不共卡)的部署方式,通信域初始化时使用随机选端口,多线程并发通信时context隔离等。
- 提升维测能力:ErrorMsg输出内容优化,AICPU展开新增时间打点等。
- 单边通信: Atlas A3 训练系列产品/Atlas A3 推理系列产品 支持自动建链模式,无需显式调用connect接口()。
- 单边通信: Atlas A3 训练系列产品/Atlas A3 推理系列产品 支持Fabric Memory全局统一编址模式,支持使用HCCS进行D2rH的KV Cache直传能力,提升传输效率()。
- 核心算子(Activation、MultiLatentAttention、LayerNorm等多个算子)等支持Ascend 950PR。
- 整图下沉模式下, 支持对plugin算子更新参数。
- SiP信号库新增torch extension模块,通过Torch Library绑定C++接口,支持通过python调用FFT、BLAS、SOLVER等40+算子能力。
- 优化内存分配管理机制,通过资源池实现高效的内存动态管理,在FFT场景下提高handle的复用,减少资源浪费和重复申请释放。
- ES构图提供多种场景的sample ( 、) 。
- ES构图 Readable Dump支持子图的友好展示。
- 自定义pass改图能力增强,新增原图优化之后改图的能力。
- 图模式多流场景nopadding连续内存支持内存复用。
- ES构图支持消费历史原型生成合法的重载cxx接口()。
- 支持算子级控核场景代码优化()。
- 图融合删除模型输出节点时,框架支持识别更新模型输出()。
- 公共子表达式消除优化()。
- 支持通过dump开关使能L0和L1 exception dump()。
- error msg优化整改()。
- 提供端到端Sample:动态分档样例()(),自定义算子入图样例(),基于graph接口的Matmul+Add融合为GEMM自定义pass样例()。
- 编译工程优化()()。
- 支持确定性和强一致性配置:ge.deterministicLevel。
- 支持TensorMove消除。
- 在线场景支持用户使用graph级别的option指定模型输出datatype:ge.outputDatatype。
- 去除执行路径上的单例和锁,提升调度性能。
- Ascend 950PR支持SIMD编程模式,提供跨代兼容能力,可实现Atlas A2系列产品和Atlas A3系列产品算子平滑迁移。
- Ascend 950PR新增基于Reg的编程方式,提供Reg数据搬运、基础算术、规约计算、同步控制等。
- Atlas A2系列产品、Atlas A3系列产品、Ascend 950PR支持,支持数组式内存分配与指针型计算接口,提供原生纯 C 编程体验。
- Ascend 950PR支持SIMD与SIMT混合编程,提供约700个,包含warp、atomic、基本数学计算、类型转换等基础接口。
- Ascend 950PR支持通信高阶API的CCU通信接口,提供基于CCU的;Matmul高阶API新增支持,实现内存占用减半、算力吞吐倍增。
- Ascend 950PR新增及兼容支持样例共计约260个,包含SIMT样例、SIMD样例(框架类、基础API、高阶API、最佳实践等),并按照编程模型和样例类别对,提升样例目录结构的易读性。
- 完成AscendC样例及样例到的迁移,并统一使用<<<>>>调用方式;
- 融合编译与<<<>>>调用方式支持以及。
- 联合毕昇编译器,优化融合编译性能。
- 支持(含Element-Wise、TileScalar、固定管线、访存操作、复杂操作、卷积指令、量化指令等)及对应指令的
- 新增SDMA()、URMA()异步通信指令,多卡P2P/P2MP/信号量同步操作指令()
- 新增性能仿真
- 新增调试指令TPRINT,支持Vec、Mat、Acc存储中Tile数据及GM中Tensor数据打印(, , )
- 新增性能调优指令TPUSH/TPOP(, , )及TPREFETCH(, )
transformer库以下接口在CANN 9.0.0中被标记为废弃,将在2027年3月30日之后的版本删除
- aclnnGroupedMatMulAllReduce接口废弃,替换为:aclnnMatmulAllReduce。
- aclnnGroupedMatmul/aclnnGroupedMatmulV2/aclnnGroupedMatmulV3/aclnnGroupedMatmulV4接口废弃,替换为:aclnnGroupedMatmulV5。
- aclnnFusedInferAttentionScore/aclnnFusedInferAttentionScoreV2/aclnnFusedInferAttentionScoreV3接口废弃,替换为:aclnnFusedInferAttentionScoreV4。
- aclnnIncreFlashAttention/aclnnIncreFlashAttentionV2/aclnnIncreFlashAttentionV3接口废弃,替换为:aclnnIncreFlashAttentionV4。
- aclnnPromptFlashAttention/aclnnPromptFlashAttentionV2接口废弃,替换为:aclnnPromptFlashAttentionV3。
- aclnnMlaProlog/aclnnMlaPrologV2WeightNz接口废弃,替换为:aclnnMlaPrologV3WeightNz。
- aclnnMatmulAllReduceAddRmsNorm接口废弃,替换为:aclnnMatmulAllReduce和aclnnAddRmsNorm。
- aclnnQuantMatmulAllReduceAddRmsNorm接口废弃,替换为:aclnnQuantMatmulAllReduceV2和aclnnAddRmsNorm。
- aclnnWeightQuantMatmulAllReduceAddRmsNorm接口废弃,替换为:aclnnWeightQuantMatmulAllReduce和aclnnAddRmsNorm。
- aclnnInplaceQuantMatmulAllReduceAddRmsNorm接口废弃,替换为:aclnnQuantMatmulAllReduceV2和aclnnAddRmsNorm。
- aclnnInplaceMatmulAllReduceAddRmsNorm接口废弃,替换为:aclnnMatmulAllReduce和aclnnAddRmsNorm。
- aclnnInplaceWeightQuantMatmulAllReduceAddRmsNorm接口废弃,替换为:aclnnWeightQuantMatmulAllReduce和aclnnAddRmsNorm。
模型压缩工具以下特性标记为废弃,废弃的特性将在cann 9.0.0之后的版本删除。
- 非均匀量化
- 自动混合精度
- 近似校准
- int4量化感知训练
- amct_mindspore所有特性
问题一:在通信域使用int64算子的模型中,发生断链时,快恢耗时有分钟级增加到十几分钟级,影响MTTR 【引入版本】CANN 9.0.0 【缺陷影响】int64算子不支持重执行流程,无法走STEP快恢,影响断联场景下任务重执行 【规避方案】不使用int64类型的集合通信算子,使用其他类型的算子临时替代
问题二:训练任务恢复时sendrecv算子卡住,导致进程级恢复失败,影响MTTR 【引入版本】CANN 8.5.0 【缺陷影响】跨超场景下,sendrecv算子偶现卡死,快恢失败 【规避方案】如果是逻辑跨超场景下,可以走HCCS链路进行规避,物理跨超场景暂无规避方案
- 修复了catlass算子编译报错“ld.lld: error: undefined symbol: CheckLogLevel”的问题。
- 修复了在Atlas 900 A2硬件上,PadV3Grad 算子因不支持[16,16,16,16] 规格的 padding 输入,执行过程上报“EZ9999”错误码的问题。
- 修复了MutMul算子在矩阵乘(32162, 4096)@(32162,32768)运算时,计算结果出现NAN的问题。
- 修复了MIMO-V2模型在MindSpeed-LLM框架训练场景下,FA算子稳定出现NAN的问题。
- 修复了aclnnQuantMatmul算子,当输入参数为切片参数时,报错shape不一致的问题。
- 修复了FAG算子在(1,32,641,128) no mask场景下,因数据切块丢失尾部数据,导致模型调用超时的问题。
- 修复了一个集群任务中环境同时存在两个驱动版本,使用reduce通信算子时,出现HCCL通信卡死导致任务运行失败的问题。
《CANN 快速开始》调整至“环境准备”节点下,并变更为《CANN 快速安装》。
- 快速入门新增SIMD、SIMT简介,新增基于SIMT编程的快速入门章节。
- 编程指南中编程模型新增“AI Core SIMT编程”、“SIMD与SIMT混合编程”章节。
- 编程指南中编译与运行新增“AI Core SIMT编译”章节。
- 编程指南中语言扩展层新增SIMT BuiltIn关键字、SIMT语言扩展层C API。
- 算子实践参考中新增SIMT算子实现、SIMD与SIMT混合算子实现章节。
- 算子实践参考中新增“SIMD与SIMT混合算子性能优化”章节。
- API参考中新增SIMT API章节。
- 新增兼容性迁移指南(220x架构版本迁移到351x架构版本)。
- 新增90+ Reg编程接口API,Reg矢量计算API是面向RegBase架构开发的API,用户可通过该API直接对芯片中涉及Vector计算的寄存器进行操作,实现更大的灵活性和更好的性能。
- 昇腾社区中,Ascend C算子开发新增可视化专区,通过视频呈现Cube和Vector算子的执行过程。
- 《通信算子开发》从《HCCL集合通信库》中独立出来,作为单本手册发布至“编程指南”节点下。
- 新增“AIV通信算子开发”章节。
《应用开发》文档大纲调整,按功能特性调整一级目录,调整点如下:
- 将“运行时管理”章节下的内容提升一个级别。
- 增补Runtime更多功能特性的开发指导,例如ACL Graph、多设备编程、进程间通信等。
- 将接口调用流程的内容下沉到各个具体功能特性的章节中。
- 单算子调用章节下的内容区分内置算子、自定义算子。
- 媒体数据处理、特征向量检索功能变更至“专用加速器”章节,同时在“专用加速器”章节下增加随机数生成功能的介绍。
- acl API参考按组件拆分,分成Runtime API、GE API、DVPP API、特征向量检索API,API参考拆分。
- 手册大纲调整:内容进行整合与重构,开发态内容移入“编程指南”章节。
- 《AutoFuse自动融合用户手册》合并到《图开发》的“自动融合”章节。
- 《图开发》新增“附录>Session到GeSession的迁移指导”章节。
- 新增“编程指南>Triton入图”章节。
- 接口参考按照语言进行分类,分为C++语言、Python语言、C语言接口,其中Python语言接口为新增接口。
- C语言接口新增“模型管理和单算子调用接口”,该部分内容来自原有的acl接口。
- 《HCCL集合通信库》的“相关参考>集群信息配置”章节下,新增“rank table配置资源信息(Atlas 350 加速卡)”章节。
- 《HCCL集合通信库》的“通信算子开发”章节下,新增“AIV算子开发”章节。
《msLeaks内存泄漏检测工具》命名变更为《内存分析工具》。
子包独立升级提供了灵活的按需升级功能。
使用场景举例:某用户已安装了a.b.c版本的组合包Ascend-cann-toolkit和Ascend-cann-ops,由于业务需要,要求将单边通信库能力更新至x.y.z版本,此时,可通过独立升级子包cann-hixl来实现。其中a.b.c和x.y.z请替换为实际版本号。
升级子包前,请确保已安装配套版本的组合包Ascend-cann-toolkit和Ascend-cann-ops。如未安装,请参考《》进行安装。
子包的升级路径应与组合包的安装路径保持一致。所有子包的升级操作相同,以下以升级 cann-hixl_x.y.z_linux-aarch64.run 为例进行说明。
升级场景一:
组合包Ascend-cann-toolkit和Ascend-cann-ops安装在默认路径下(即安装时未使用“--install-path”参数)
升级场景二:
组合包Ascend-cann-toolkit和Ascend-cann-ops安装在指定路径“/home/custom_path”(即安装时指定“--install-path=/home/custom_path”)