This is an automated email from the ASF dual-hosted git repository.

lmzheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-tvm.git


The following commit(s) were added to refs/heads/main by this push:
     new 78bba3c  [AutoScheduler] Fix a bug in thread binding (#6683)
78bba3c is described below

commit 78bba3c74785433b0f29589d89112ef06e4bca75
Author: Lianmin Zheng <lianminzh...@gmail.com>
AuthorDate: Wed Oct 14 04:13:40 2020 -0700

    [AutoScheduler] Fix a bug in thread binding (#6683)
    
    * fix for lstm use case
    
    * update
---
 src/auto_scheduler/search_policy/sketch_policy_rules.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/auto_scheduler/search_policy/sketch_policy_rules.cc 
b/src/auto_scheduler/search_policy/sketch_policy_rules.cc
index 045ee86..99188d4 100644
--- a/src/auto_scheduler/search_policy/sketch_policy_rules.cc
+++ b/src/auto_scheduler/search_policy/sketch_policy_rules.cc
@@ -702,11 +702,14 @@ PopulationGenerationRule::ResultKind 
InitVectorization::Apply(SketchPolicyNode*
 
 PopulationGenerationRule::ResultKind InitThreadBind::Apply(SketchPolicyNode* 
policy, State* state,
                                                            std::mt19937* 
rand_gen) const {
+  // Collect all stages that are roots of stages that perform multi-level 
tiling.
   std::set<int> multi_level_tiling_root_set;
   for (size_t stage_id = 0; stage_id < (*state)->stages.size(); ++stage_id) {
     if (NeedsMultilevelTiling(policy->search_task, *state, stage_id)) {
       const Stage& stage = (*state)->stages[stage_id];
-      if (stage->compute_at != ComputeAtKind::kIter) {
+      if (stage->compute_at == ComputeAtKind::kInlined) {
+        continue;
+      } else if (stage->compute_at != ComputeAtKind::kIter) {
         // This stage is not multi-level tiled,
         // so it must be produced by RuleCrossThreadReduction.
         CHECK(HasCrossThreadReduction(*state, stage_id));

Reply via email to