news 2026/9/10 1:42:13

CANN/ge - ATC概述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/ge - ATC概述

ATC概述

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

ATC工具介绍

介绍ATC工具的功能架构以及使用ATC工具过程中遇到的一些术语或者缩略语。

ATC简介

昇腾张量编译器(Ascend Tensor Compiler,简称ATC)是异构计算架构CANN体系下的模型转换工具,它可以将开源框架的网络模型以及Ascend IR定义的单算子描述文件(JSON格式)转换为AI处理器支持的.om格式离线模型。其功能架构如图1所示。

模型转换过程中,ATC会进行算子调度优化、权重数据重排、内存使用优化等具体操作,对原始的深度学习模型进行进一步的调优,从而满足部署场景下的高性能需求,使其能够高效执行在AI处理器上。

图 1ATC工具功能架构 ![图示](https://raw.gitcode.com/cann/ge/raw/a67f6ec35ec66842d35cb5db9c8d9a4c34d31086/docs/zh/user_guides/atc_tools/figures/atc_tool_func_architecture.png "ATC工具功能架构"?utm_source=gitcode_repo_files)

其中:

  • 开源框架网络模型场景:

    1. 开源框架网络模型经过Parser解析后,转换为中间态IR Graph。
    2. 中间态IR经过图准备、图拆分、图优化、图编译等一系列操作后,转成适配AI处理器的离线模型(此处图指网络模型拓扑图)。
    3. 转换后的离线模型上传到板端环境,通过模型加载接口加载模型文件,再调用模型执行接口实现推理过程,详细流程请参见《应用开发 (C&C++)》中的“模型推理”章节。
  • 单算子描述文件场景:

    Ascend IR定义的单算子描述文件(JSON格式)通过ATC工具进行单算子编译后,转成适配AI处理器的单算子离线模型,然后上传到板端环境,通过单算子模型加载接口加载单算子模型文件用于验证单算子功能,详细流程请参见单算子模型执行。

    关于单算子描述文件的详细配置说明请参见单算子模型转换章节。

关键概念

调用流程

ATC工具运行前需要准备环境和模型,本节给出ATC工具的运行流程以及和各组件的交互流程。

运行流程

运行流程如图1所示。

图 1运行流程 ![](https://raw.gitcode.com/cann/ge/raw/a67f6ec35ec66842d35cb5db9c8d9a4c34d31086/docs/zh/user_guides/atc_tools/figures/runtime_flow.png "运行流程"?utm_source=gitcode_repo_files)

  1. 使用ATC工具之前,请先在开发环境安装CANN软件包,获取相关路径下的ATC工具,然后设置环境变量,详细说明请参见准备环境。
  2. 准备要进行转换的模型或单算子描述文件,并上传到开发环境。单算子描述文件相关配置请参见单算子模型转换。
  3. 使用ATC工具进行模型转换,模型转换过程中使用的参数请参见参数说明。

模型转换交互流程

下面以开源框架网络模型转换为om离线模型为例,详细介绍模型转换过程中与周边模块的交互流程。

根据网络模型中算子计算单元的不同,分为AI Core算子和AI CPU算子:AI Core算子是指在AI处理器的核心计算单元上执行的算子,而AI CPU算子则是在AI CPU计算单元上执行的算子。

在AI Core算子、AI CPU算子的模型转换交互流程中,虽然都涉及图准备、图拆分、图优化、图编译等节点,但由于两者的计算单元不同,因此涉及交互的内部模块也有所不同,请参见下图。

关于算子类型、基本概念等详细介绍请参见《Ascend C算子开发指南》或《TBE&AI CPU算子开发》(选择一种支持的方式即可)。如果用户使用的网络模型中有自定义算子,也请优先参见上述手册开发部署好自定义算子,模型转换时会优先去查找自定义算子库匹配模型文件中的算子;若匹配失败,则会去查找内置算子库。

模型转换过程中,若遇到AI CPU算子不支持某种数据类型导致编译失败的场景,可通过启用Cast算子自动插入特性快速将输入转换为算子支持的数据类型,从而实现网络的快速打通,详细流程请参见开启AI CPU Cast算子自动插入特性。

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 1:40:00

头歌实践教学平台:Java面向对象-类与对象(五)

第6关:static关键字任务描述 本关任务:使用static关键词设置方法和变量的属性。相关知识 为了完成本关任务,你需要掌握:1.static关键字有什么作用,2.怎么使用static关键字。什么是static关键字 static关键字我们经常接…

作者头像 李华
网站建设 2026/9/10 1:39:51

最长回文子串的动态规划解法:从状态定义到遍历顺序

最长回文子串这道题,可以说是动态规划入门路上绕不过去的一道坎。LeetCode第5题,看起来就是“给一个字符串,找最长的回文子串”,但真上手做的时候,你会发现它特别适合用来理解动态规划的核心思想:状态怎么定…

作者头像 李华