ShardGraphs
函数功能
该接口不建议使用,推荐使用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();
父主题: Session类