MCPcopy Create free account
hub / github.com/alibaba/euler / ProduceRule

Method ProduceRule

euler/parser/optimizer.cc:430–454  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

428}
429
430std::shared_ptr<OptimizeRule> Optimizer::ProduceRule(
431 DAGDef* dag) {
432 std::vector<std::string> adj_info;
433 std::vector<int32_t> subset = ProduceFusionAdj(dag, &adj_info);
434 if (subset.empty()) return nullptr;
435
436 std::vector<std::vector<std::string>> fusion_output_map =
437 ProduceFusionOutputMap(subset, dag);
438
439 std::unordered_map<std::string, int32_t>
440 op_key_input2split_info_idx;
441 std::vector<std::vector<std::string>> split_op_info =
442 ProduceSplitOpInfo(subset, dag,
443 &op_key_input2split_info_idx);
444
445 std::vector<std::vector<std::string>> merge_op_info =
446 ProduceMergeOpInfo(
447 subset, op_key_input2split_info_idx, dag);
448
449 std::shared_ptr<OptimizeRule> optmz_rule =
450 std::make_shared<FusionAndShardRule>(
451 graph_partition, adj_info, "REMOTE", fusion_output_map,
452 split_op_info, merge_op_info, shard_num_);
453 return optmz_rule;
454}
455
456} // namespace euler

Callers

nothing calls this directly

Calls 1

emptyMethod · 0.45

Tested by

no test coverage detected