---
title: ShardGraphs
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi/atlasgeapi_07_0069.html
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/atlasgeapi_07_0069.html
indexId: 8b478034bdcdd5083c2dd07fbe6b5c5a6f5d597e549579170f054a1b40c3ef8f72
---
# ShardGraphs

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | x |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | x |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | x |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 头文件/库文件

- 头文件：#include <ge/ge_api.h>
- 库文件：libge_runner.so


#### 功能说明

该接口已废弃，请勿使用。

该接口不建议使用，推荐使用ShardGraphsToFile接口，ShardGraphsToFile接口性能优于ShardGraphs。

切分图接口，对Session内的图按照AddGraph的顺序进行切分，切分后的图保存在内存中。

切分方式由options参数说明中的ge.graphParallelOptionPath参数配置，若未使能并行切分功能，则接口不会进行切分。

切分后的图，命名规则：

- 若工作在SPMD模式，切分后的图的命名规则为：{原图名}_{ClusterId}_{ItemId}_{ChipId}_{VirtualStageId}_{原图GraphId}，切分后的图的个数将为原图的个数*切分份数。
- 若工作在非SPMD模式，切分后的图命名规则为：{原图名}_{原图GraphId}，切分后的图的个数将等于原图个数。

切图以后，原图将不在Session内存在，生成的新的切分后图的GraphId将使用其他ID替代原图的GraphId。

该接口与ShardGraphsToFile接口区别：- ShardGraphs可以完成搜索策略、图的切分，并输出切分后的图等文件后，切分后的图保存在内存中，然后通过SaveGraphsToPb落盘。
- 而ShardGraphsToFile可以完成搜索策略、图的切分，并输出切分后的图等文件，切分后的图也通过该接口落盘（file_path参数必须指定有效路径）。


#### 函数原型

```
Status Session::ShardGraphs()
```


#### 参数说明

不涉及参数。


#### 返回值说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| \- | Status | SUCCESS：成功 FAILED：失败 |


#### 约束说明

当前仅支持并行切分模式打开时才可以使能。


#### 调用示例

```
Session session(options); // options中已使能并行切分功能
Graph init_graph("init_graph");
Graph first_graph("first_graph");
Graph second_graph("second_graph");
session.ShardGraphs();
```
