RunGraphDistribute
函数功能
对输入refdata节点切分后,同步执行指定id对应的Graph图,输出执行结果。
与RunGraph接口的区别是:该接口输入的refdata节点是经过切分后的,输出是每个device的输出结果。
函数原型
Status RunGraphDistribute(uint32_t graph_id, const std::map<int32_t, std::vector<Tensor>> &device_to_inputs, std::map<int32_t, std::vector<Tensor>> &device_to_outputs);
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
graph_id |
输入 |
要执行图对应的id。 |
inputs |
输入 |
计算图输入Tensor,为Host上分配的内存空间。 使用const std::map<int32_t, std::vector<Tensor>>作为输入,为切分后每个device id下对应的输入。 |
outputs |
输出 |
计算图输出Tensor,用户无需分配内存空间,执行完成后GE会分配内存并赋值。 使用std::map<int32_t, std::vector<Tensor>>作为输出结果,记录每个device id对应的计算图结果。 |
约束说明
- 对于graph_id中的全量输入,输入顺序约束为:模型data输入 + batch_index + kv。
- 对于graph_id中的增量输入,输入顺序约束为:模型data输入 + kv。
父主题: Graph运行接口