You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by GitBox <gi...@apache.org> on 2020/09/29 04:13:34 UTC

[GitHub] [incubator-tvm] comaniac commented on a change in pull request #6584: [Ansor] Support multiple output ops and fix Python API printing

comaniac commented on a change in pull request #6584:
URL: https://github.com/apache/incubator-tvm/pull/6584#discussion_r496369109



##########
File path: src/auto_scheduler/compute_dag.cc
##########
@@ -969,6 +969,9 @@ void ComputeDAG::RewriteLayout(const Array<Step>& transform_steps) {
       }
     }  // end for placeholder
   }    // end for stage
+  p_dag->access_analyzer = AccessAnalyzer(p_dag->tensors);
+  p_dag->ops = p_dag->access_analyzer->ops_topo_order;
+  p_dag->flop_ct = FlopEstimator().EstimateFlop(p_dag->ops);

Review comment:
       I would like to know the answer too... For the ApplySteps in compute DAG, previously we simply put all non-placeholder ops to the list and take the last op (assuming it is the only output) to create a new schedule. After using `access_analyzer.is_output` to check what ops should be put to the list, `is_output` throws exceptions due to the out-of-date `is_output` map. That's why I found this issue. Maybe most use cases so far don't enable layout rewrite?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org