---
title: 场景介绍
description: "本节给出编译运行Graph的几种典型业务场景，用户可以根据实际情况选择需要进行的业务。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/programug/graphdevg/atlasag_25_0004.html
sourcePath: /source/zh/canncommercial/900/programug/graphdevg/atlasag_25_0004.html
indexId: fa12558a4a73ec011a0c0553c822fca2f78cdf23dbacc905c348a4322a4bb8f470
---
# 场景介绍

本节给出编译运行Graph的几种典型业务场景，用户可以根据实际情况选择需要进行的业务。


**表1 编译和运行Graph场景**

| 场景 | 功能说明 | 产品支持情况 |
| --- | --- | --- |
| 编译Graph为离线模型 | 把Graph编译并保存为om离线模型，编译生成的离线模型通过模型加载接口加载，然后通过模型执行接口进行推理。 详细介绍请参考《应用开发 (C&C++)(https://www.hiascend.com/document/detail/zh/canncommercial/900/programug/acldevg/aclcppdevg\_000006.html)》手册中的“模型推理(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/acldevg/aclcppdevg\_000025.html)”章节。 | ALL |
| 编译并直接运行Graph | 构建完Graph之后，直接编译并运行Graph，使用AddGraph(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/ascendgraphapi/atlasgeapi\_07\_0170.html)接口加载Graph对象；运行Graph时，根据调用接口不同，分为如下两种情况： 同步执行Graph：加载完后，使用RunGraph(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/ascendgraphapi/atlasgeapi\_07\_0185.html)同步运行Graph，得到图的执行结果。 异步执行Graph：加载完后，使用RunGraphWithStreamAsync(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/ascendgraphapi/atlasgeapi\_07\_0187.html)异步运行Graph，得到图的执行结果。 | Atlas 推理系列产品 ：支持 Atlas 训练系列产品 ：支持 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ：支持 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ：支持 Atlas 350 加速卡：支持 Atlas 200I/500 A2 推理产品 ：不支持 |


#### 编译Graph为离线模型

该场景把Graph编译并保存为om离线模型，具体流程如图1所示，详细业务介绍请参见编译Graph为离线模型。

图1 模型构建流程


#### 编译并直接运行Graph

完成构建Graph及Graph编译运行的具体流程如图2所示。详细业务介绍请参见编译并运行Graph。

图2 编译并直接运行流程图
