Create loops according to storage scope and thread hierarchies (#5190)
authoryongfeng-nv <49211903+yongfeng-nv@users.noreply.github.com>
Fri, 10 Apr 2020 01:49:37 +0000 (21:49 -0400)
committerGitHub <noreply@github.com>
Fri, 10 Apr 2020 01:49:37 +0000 (18:49 -0700)
commit3d09e64daeb506ae6f75193faf512180771fd583
treef798b6b85cfcde0e72fa3ade1dd691cdeef99655
parenta4321e038a365e2e2863437a10eea2457d246d0b
Create loops according to storage scope and thread hierarchies (#5190)

* Set IterVar index to 0 for local thread bound IterVars.

* Lint fix

* Use rank instead of scope name to predicate.  Add tests.

* Handle cases other than local/threadIdx.

* Turn warp to the old behavior.

* Modify test to cover global/blockIdx.

* Fix a typo.

* Update test_te_schedule_ops.py with more testing coverage in test_local_stage_predicate; remove test_schedule_schedule_ops.py which was added by mistake.
src/te/operation/op_util.cc
tests/python/unittest/test_te_schedule_ops.py