|
|
|
@ -27,23 +27,29 @@
|
|
|
|
|
|
|
|
|
|
namespace mindspore {
|
|
|
|
|
namespace parallel {
|
|
|
|
|
void GenerateStrategy(std::shared_ptr<Graph> graph, const std::vector<std::shared_ptr<OperatorInfo>> &ops);
|
|
|
|
|
std::vector<int32_t> PrepareMatMul(const std::shared_ptr<Graph> &graph,
|
|
|
|
|
const std::vector<std::shared_ptr<OperatorInfo>> &ops, const size_t iter_nodes,
|
|
|
|
|
const size_t iter_op_inputs);
|
|
|
|
|
void GenerateStrategy(std::shared_ptr<Graph> graph, const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const std::shared_ptr<std::vector<std::vector<size_t>>> eli_list,
|
|
|
|
|
const std::vector<std::vector<std::string>> &input_tensor_names,
|
|
|
|
|
const std::shared_ptr<std::vector<size_t>> index_list);
|
|
|
|
|
std::vector<std::vector<int32_t>> PrepareMatMul(const std::shared_ptr<Graph> &graph,
|
|
|
|
|
const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const size_t iter_graph, const size_t iter_ops);
|
|
|
|
|
std::vector<std::vector<int32_t>> PrepareVirtualDataset(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const size_t iter_ops);
|
|
|
|
|
std::vector<std::vector<int32_t>> PrepareBiasAdd(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const size_t iter_ops, std::vector<int32_t> s);
|
|
|
|
|
std::vector<std::vector<int32_t>> PrepareOneHot(std::vector<int32_t> s);
|
|
|
|
|
std::vector<int32_t> MakeRecSearchStrategy(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const std::shared_ptr<Graph> &graph, const size_t iter_ops,
|
|
|
|
|
const size_t iter_op_inputs);
|
|
|
|
|
std::vector<int32_t> MakeDataParallelStrategy(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const size_t iter_ops, const size_t iter_op_inputs);
|
|
|
|
|
std::vector<int32_t> PrepareStrategy(const std::shared_ptr<Graph> &graph,
|
|
|
|
|
const std::vector<std::shared_ptr<OperatorInfo>> &ops, const size_t iter_ops,
|
|
|
|
|
const size_t iter_op_inputs);
|
|
|
|
|
std::vector<std::vector<int32_t>> MakeRecSearchStrategy(const std::shared_ptr<Graph> &graph,
|
|
|
|
|
const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const size_t iter_graph, const size_t iter_ops);
|
|
|
|
|
std::vector<std::vector<int32_t>> MakeDataParallelStrategy(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const size_t iter_ops);
|
|
|
|
|
std::vector<std::vector<int32_t>> PrepareStrategy(const std::shared_ptr<Graph> &graph,
|
|
|
|
|
const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const size_t iter_graph, const size_t iter_ops);
|
|
|
|
|
void GeneratePartitionedOperatorStrategy(const std::shared_ptr<Graph> graph,
|
|
|
|
|
const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const std::shared_ptr<std::vector<size_t>> index_list);
|
|
|
|
|
int FindIndexOfOperatorIncoming(const std::vector<std::vector<std::string>> &input_tensor_names, const size_t iter_ops);
|
|
|
|
|
std::vector<int32_t> CopyIncomingOperatorOutputStrategy(const std::shared_ptr<Graph> graph,
|
|
|
|
|
const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
@ -56,12 +62,27 @@ std::vector<int32_t> ModifyStrategyIfSqueezeIncoming(const std::vector<std::shar
|
|
|
|
|
std::vector<int32_t> GetDimList(const std::vector<std::shared_ptr<OperatorInfo>> &ops, const size_t iter_ops);
|
|
|
|
|
std::vector<int32_t> ModifyStrategyIfReduceIncoming(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const int incoming_op_index, std::vector<int32_t> s);
|
|
|
|
|
std::vector<int32_t> CopyIncomingOperatorInputStrategy(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const int incoming_op_index, const size_t iter_ops,
|
|
|
|
|
const std::shared_ptr<std::vector<size_t>> no_stra_op_list);
|
|
|
|
|
std::vector<std::vector<int32_t>> GenerateStrategiesFromStrategy(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const size_t iter_ops, std::vector<int32_t> s);
|
|
|
|
|
void GenerateEliminatedOperatorStrategyForward(std::shared_ptr<Graph> graph,
|
|
|
|
|
const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const std::shared_ptr<std::vector<std::vector<size_t>>> eli_list,
|
|
|
|
|
const std::vector<std::vector<std::string>> &input_tensor_names,
|
|
|
|
|
const std::shared_ptr<std::vector<size_t>> index_list,
|
|
|
|
|
const std::shared_ptr<std::vector<size_t>> no_stra_op_list);
|
|
|
|
|
std::vector<int32_t> ModifyStrategyIfSqueezeOutgoing(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const size_t iter_ops, std::vector<int32_t> s);
|
|
|
|
|
std::vector<int32_t> ModifyStrategyIfReduceOutgoing(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const size_t iter_ops, std::vector<int32_t> s);
|
|
|
|
|
std::vector<int32_t> CopyOutgoingOperatorInputStrategy(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const std::vector<std::vector<std::string>> &input_tensor_names,
|
|
|
|
|
const size_t iter_ops);
|
|
|
|
|
void GenerateEliminatedOperatorStrategyBackward(const std::vector<std::shared_ptr<OperatorInfo>> &ops,
|
|
|
|
|
const std::vector<std::vector<std::string>> &input_tensor_names,
|
|
|
|
|
const std::shared_ptr<std::vector<size_t>> no_stra_op_list);
|
|
|
|
|
} // namespace parallel
|
|
|
|
|
} // namespace mindspore
|
|
|
|
|
#endif // PARALLEL_AUTO_PARALLEL_REC_GENERATE_STRATEGY_H_
|
|
|
|
|