ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

避坑废弃清单:CANN release-management废弃接口迁移路线图与替换对照表完整指南

避坑废弃清单:CANN release-management废弃接口迁移路线图与替换对照表完整指南 避坑废弃清单CANN release-management废弃接口迁移路线图与替换对照表完整指南【免费下载链接】release-managementCANN版本发布管理仓库项目地址: https://gitcode.com/cann/release-managementCANN release-management 是 CANN 昇腾异构计算架构的官方版本发布管理仓库每个版本的release-notes.md都设有「删除和废弃特性」章节明确列出废弃接口、替换接口与删除时间。升级 CANN 之前3 分钟查完这张清单就能避开升级后编译失败的坑。一、先认识仓库废弃信息都藏在哪里仓库按版本号组织每个版本目录包含两类核心文件文件作用release-notes.md版本说明含新特性、删除和废弃特性、已知问题release-plan.md发布计划与时间表用于预判升级窗口例如最新稳定版的废弃清单见 9.1.1/release-notes.md而下一批计划上线的特性可参考 9.2.0-beta.2/release-plan.md。仓库整体结构说明见 README.md。 小技巧在任意版本的 release-notes 中搜索「删除和废弃特性」即可直达清单无需通读全文。二、废弃时间表记住这 3 个关键日期 ⏰CANN 的废弃遵循先标记、后删除两段式流程不同版本标记的废弃项有不同的移除时间标记废弃版本计划移除时间重点废弃对象CANN 8.5.02026.12.30 之后的版本ascend-toolkit旧目录、rt_*运行时接口、DVPP 算子IRCANN 9.0.02027.3.30 之后的版本transformer 融合算子GroupedMatmul、FlashAttention 系列CANN 9.1.02027.6.30 之后的版本include/driver驱动头文件等⚠️避坑要点「废弃」≠「已删除」。被标记废弃的接口在当前版本仍可用但必须在移除日期前完成替换否则升级后直接编译报错。三、替换对照表高频废弃接口速查以下对照表摘自 9.1.0/release-notes.md「删除和废弃特性」表中${install_path}均指 CANN 软件安装路径。3.1 运行时接口从rt_*迁到aclrt*CANN 8.5.0 标记废弃2026.12.30 后移除。运行时接口统一收敛到${install_path}/cann/include/acl/aclrt.h废弃接口 / 文件替换为aclsysGetCANNVersionaclsysGetVersionStraclsysGetVersionNumlibascendcl.soascend-toolkit/latest/lib64libacl_rt.so、libacl_mdl.so、libacl_op_executor.socann/lib64rtLabelCreate/rtLabelCreateEx/rtLabelCreateExV2/rtLabelCreateV2aclrtCreateLabelrtGetTaskIdAndStreamIDaclrtGetThreadLastTaskIdaclrtStreamGetIdrtStreamSetModeaclrtSetStreamFailureModeaclrtSetStreamOverflowSwitchrtSetTaskFailCallback/rtRegTaskFailCallbackByModuleaclrtSetExceptionInfoCallback另有大批rt_bind、rtProfiler*系列内部接口标记为后续不提供相关功能——这类接口没有替代品需要用公开 API 重新设计实现。3.2 算子库transformer 融合算子大换血CANN 9.0.0 标记废弃2027.3.30 后移除9.0.0/release-notes.md。规则很简单旧版本融合算子 → 最新 V4/V5 版本废弃接口替换为aclnnGroupedMatmul/ V2 / V3 / V4aclnnGroupedMatmulV5aclnnPromptFlashAttention/ V2aclnnPromptFlashAttentionV3aclnnFusedInferAttentionScore/ V2 / V3aclnnFusedInferAttentionScoreV4aclnnMatmulAllReduceAddRmsNormaclnnMatmulAllReduceaclnnAddRmsNormaclnnInplaceMatmulAllReduceAddRmsNormaclnnMatmulAllReduceaclnnAddRmsNormaclnnWeightQuantMatmulAllReduceAddRmsNormaclnnWeightQuantMatmulAllReduceaclnnAddRmsNorm 注意一类高频坑*AllReduceAddRmsNorm系列一步到位融合算子被拆分成了两个算子的组合迁移时不要指望一对一替换需要调整计算图结构。此外CANN 8.5.0 起算子已拆分为组件包${ops_project}取 cv、math、nn、transformer、legacy废弃文件替换为ascend-toolkit/latest/lib64/libopapi.socann/lib64/libopapi_${ops_project}.soopp/built-in/op_proto/inc/*.hcann/opp/built-in/op_graph/inc/${ops_project}_ops_proto.h3.3 加速库与图引擎DVPP 算子IR 改走接口CANN 8.5.0 标记废弃的 DVPP 加速算子IRCrop、Resize、AdjustBrightness 等统一替换为acldvpp*C 接口例如废弃算子IR替换接口AdjustBrightness/AdjustBrightnessV2acldvppAdjustBrightnessImgCropacldvppCropNormalizeV2acldvppNormalize图引擎目录迁移同样 2026.12.30 后移除废弃目录替换目录ascend-toolkit/latest/runtime/include/graphcann/include/graphascend-toolkit/latest/compiler/python/func2graphcann/x86_64-linux/python/func2graphAscend 950 系列产品用户注意aclblas和aclop接口不再推荐后续将逐步废弃建议直接迁移至aclnn算子接口。3.4 调试维测头文件搬家废弃文件替换位置experiment/msprof/toolchain下的aprof_pub.h、prof_api.h、prof_common.hcann/pkg_inc/profilingerror_manager/error_manager.h及REPORT_INNER_ERROR等宏cann/include/base/err_msg.h及REPORT_INNER_ERR_MSG等toolchain/slog.h、base/alog_pub.hAlogRecord等cann/pkg_inc/base/dlog_pub.hDlogRecord、dlog_error等3.5 模型压缩工具已删除无过渡期 AMCT 以下特性在 CANN 9.0.0 标记废弃后已在 9.1.0 中正式删除9.1.0/release-notes.md非均匀量化自动混合精度近似校准int4 量化感知训练amct_mindspore所有特性如果业务仍依赖上述特性需要改用均匀量化、手动混合精度校准等替代方案这是所有废弃项中唯一没有缓冲期的一类。四、迁移路线图4 步完成废弃接口替换Step 1确认你的版本坐标通过aclsysGetVersionStr获取当前 CANN 版本对照上文时间表判断自己处于哪个废弃批次的移除日期之前。Step 2定位对应版本的废弃清单打开目标版本的 release-notes.md「删除和废弃特性」章节按 运行时 → 图引擎 → 算子库 → 加速库 → 调试维测 → 模型压缩 的顺序逐项核对。Step 3按替换列逐一改造有明确替换为的直接替换头文件路径与接口名标注后续不提供相关功能的梳理调用链用公开 ACL/ACLNN 接口重新设计融合算子拆分为组合的调整计算图串联两个新算子。Step 4编译 回归测试重点关注三类报错头文件找不到路径迁移、链接失败libopapi.so拆分、算子行为差异版本升级后数值/精度可能变化。五、避坑清单总结 ✅废弃 ≠ 删除标记废弃的接口仍可用但必须在移除日期2026.12.30 / 2027.3.30 / 2027.6.30前完成迁移。路径先搬家ascend-toolkit/latest/...系列路径正整体收敛到cann/...编译脚本里的硬编码路径要一并检查。融合算子会拆*AllReduceAddRmsNorm系列不是一对一替换而是通信算子 归一化算子的组合。每版核对一遍废弃清单随版本滚动更新如 9.0.1/release-notes.md 会汇总继承上一版本的废弃项跨多个版本升级时要逐版检查。关注硬件代际Ascend 950 系列上aclblas/aclop已在不推荐名单新代码直接用aclnn。 延伸阅读版本发布节奏见 8.5.0/release-plan.md英文环境可参考 9.1.1/release-notes_en.md。【免费下载链接】release-managementCANN版本发布管理仓库项目地址: https://gitcode.com/cann/release-management创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表