@Override public Iterable<DumpableConnection<OptimizerNode>> getDumpableInputs() { List<DumpableConnection<OptimizerNode>> allInputs = new ArrayList<DumpableConnection<OptimizerNode>>(); allInputs.addAll(getIncomingConnections()); allInputs.addAll(getBroadcastConnections()); return allInputs; }
@Override public Iterable<OptimizerNode> getPredecessors() { List<OptimizerNode> allPredecessors = new ArrayList<OptimizerNode>(); for (DagConnection dagConnection : getIncomingConnections()) { allPredecessors.add(dagConnection.getSource()); } for (DagConnection conn : getBroadcastConnections()) { allPredecessors.add(conn.getSource()); } return allPredecessors; }
public int getMaxDepth() { int maxDepth = 0; for (DagConnection conn : getIncomingConnections()) { maxDepth = Math.max(maxDepth, conn.getMaxDepth()); } for (DagConnection conn : getBroadcastConnections()) { maxDepth = Math.max(maxDepth, conn.getMaxDepth()); } return maxDepth; }
protected List<UnclosedBranchDescriptor> computeUnclosedBranchStackForBroadcastInputs( List<UnclosedBranchDescriptor> branchesSoFar) { // handle the data flow branching for the broadcast inputs for (DagConnection broadcastInput : getBroadcastConnections()) { OptimizerNode bcSource = broadcastInput.getSource(); addClosedBranches(bcSource.closedBranchingNodes); List<UnclosedBranchDescriptor> bcBranches = bcSource.getBranchesForParent(broadcastInput); ArrayList<UnclosedBranchDescriptor> mergedBranches = new ArrayList<UnclosedBranchDescriptor>(); mergeLists(branchesSoFar, bcBranches, mergedBranches, true); branchesSoFar = mergedBranches.isEmpty() ? Collections.<UnclosedBranchDescriptor>emptyList() : mergedBranches; } return branchesSoFar; }
public void clearInterestingProperties() { this.intProps = null; for (DagConnection conn : getIncomingConnections()) { conn.clearInterestingProperties(); } for (DagConnection conn : getBroadcastConnections()) { conn.clearInterestingProperties(); } }
@Override public void postVisit(OptimizerNode visitable) { // the node ids visitable.initId(this.id++); // connections need to figure out their maximum path depths for (DagConnection conn : visitable.getIncomingConnections()) { conn.initMaxDepth(); } for (DagConnection conn : visitable.getBroadcastConnections()) { conn.initMaxDepth(); } // the estimates visitable.computeOutputEstimates(this.statistics); // if required, recurse into the step function if (visitable instanceof IterationNode) { ((IterationNode) visitable).acceptForStepFunction(this); } } }
for (DagConnection conn : getBroadcastConnections()) { boolean dynamicIn = conn.isOnDynamicPath(); anyDynamic |= dynamicIn;
@Override public Iterable<DumpableConnection<OptimizerNode>> getDumpableInputs() { List<DumpableConnection<OptimizerNode>> allInputs = new ArrayList<DumpableConnection<OptimizerNode>>(); allInputs.addAll(getIncomingConnections()); allInputs.addAll(getBroadcastConnections()); return allInputs; }
@Override public Iterable<DumpableConnection<OptimizerNode>> getDumpableInputs() { List<DumpableConnection<OptimizerNode>> allInputs = new ArrayList<DumpableConnection<OptimizerNode>>(); allInputs.addAll(getIncomingConnections()); allInputs.addAll(getBroadcastConnections()); return allInputs; }
@Override public Iterable<DumpableConnection<OptimizerNode>> getDumpableInputs() { List<DumpableConnection<OptimizerNode>> allInputs = new ArrayList<DumpableConnection<OptimizerNode>>(); allInputs.addAll(getIncomingConnections()); allInputs.addAll(getBroadcastConnections()); return allInputs; }
@Override public Iterable<OptimizerNode> getPredecessors() { List<OptimizerNode> allPredecessors = new ArrayList<OptimizerNode>(); for (DagConnection dagConnection : getIncomingConnections()) { allPredecessors.add(dagConnection.getSource()); } for (DagConnection conn : getBroadcastConnections()) { allPredecessors.add(conn.getSource()); } return allPredecessors; }
@Override public Iterable<OptimizerNode> getPredecessors() { List<OptimizerNode> allPredecessors = new ArrayList<OptimizerNode>(); for (DagConnection dagConnection : getIncomingConnections()) { allPredecessors.add(dagConnection.getSource()); } for (DagConnection conn : getBroadcastConnections()) { allPredecessors.add(conn.getSource()); } return allPredecessors; }
@Override public Iterable<OptimizerNode> getPredecessors() { List<OptimizerNode> allPredecessors = new ArrayList<OptimizerNode>(); for (DagConnection dagConnection : getIncomingConnections()) { allPredecessors.add(dagConnection.getSource()); } for (DagConnection conn : getBroadcastConnections()) { allPredecessors.add(conn.getSource()); } return allPredecessors; }
@Override public Iterable<OptimizerNode> getPredecessors() { List<OptimizerNode> allPredecessors = new ArrayList<OptimizerNode>(); for (DagConnection dagConnection : getIncomingConnections()) { allPredecessors.add(dagConnection.getSource()); } for (DagConnection conn : getBroadcastConnections()) { allPredecessors.add(conn.getSource()); } return allPredecessors; }
public int getMaxDepth() { int maxDepth = 0; for (DagConnection conn : getIncomingConnections()) { maxDepth = Math.max(maxDepth, conn.getMaxDepth()); } for (DagConnection conn : getBroadcastConnections()) { maxDepth = Math.max(maxDepth, conn.getMaxDepth()); } return maxDepth; }
public int getMaxDepth() { int maxDepth = 0; for (DagConnection conn : getIncomingConnections()) { maxDepth = Math.max(maxDepth, conn.getMaxDepth()); } for (DagConnection conn : getBroadcastConnections()) { maxDepth = Math.max(maxDepth, conn.getMaxDepth()); } return maxDepth; }
public int getMaxDepth() { int maxDepth = 0; for (DagConnection conn : getIncomingConnections()) { maxDepth = Math.max(maxDepth, conn.getMaxDepth()); } for (DagConnection conn : getBroadcastConnections()) { maxDepth = Math.max(maxDepth, conn.getMaxDepth()); } return maxDepth; }
public int getMaxDepth() { int maxDepth = 0; for (DagConnection conn : getIncomingConnections()) { maxDepth = Math.max(maxDepth, conn.getMaxDepth()); } for (DagConnection conn : getBroadcastConnections()) { maxDepth = Math.max(maxDepth, conn.getMaxDepth()); } return maxDepth; }
public void clearInterestingProperties() { this.intProps = null; for (DagConnection conn : getIncomingConnections()) { conn.clearInterestingProperties(); } for (DagConnection conn : getBroadcastConnections()) { conn.clearInterestingProperties(); } }
public void clearInterestingProperties() { this.intProps = null; for (DagConnection conn : getIncomingConnections()) { conn.clearInterestingProperties(); } for (DagConnection conn : getBroadcastConnections()) { conn.clearInterestingProperties(); } }