Hzfengsy commented on a change in pull request #4885: Split node min range is
not stringent.
URL: https://github.com/apache/incubator-tvm/pull/4885#discussion_r379879156
##########
File path: tests/python/unittest/test_schedule_tensor_core.py
##########
@@ -339,17 +339,13 @@ def test_tensor_core_batch_conv():
ty, yo = s[AS].split(xo, nparts=block_col_warps)
t = s[AS].fuse(nn, ii)
to, ti = s[AS].split(t, factor=warp_size)
- s[AS].bind(tx, thread_y)
Review comment:
I see. It is my fault to make such a "wrong" testcase. Thank you for finding
and fixing it.
However, this "bug" shows two discuss points about this PR:
## Possibility in thread binding
If we still want to bind the loops, which have different extents, to the
same threadIdx. Can we make it after this PR?
### Before
```
for (int i = 0; i < 31; ++i) {
B[i] = C[i] + 1
}
for (int j = 0; j < 32; ++j) {
C[i] = A[i] * 2
}
```
### After
```
// attr [iter_var(threadIdx.x, , threadIdx.x)] thread_extent = 32
if (threadIdx.x < 31) {
B[i] = C[i] + 1
}
// attr [iter_var(threadIdx.x, , threadIdx.x)] thread_extent = 32
C[i] = A[i] * 2
```
This case is really rare. So it will not block the PR merging but worths to
think about it.
## Schedule in AutoTVM
Today, we can make sure the schedule is correct (maybe slow but it can run)
in different sizes.
In AutoTVM, We will search for many schedules and most of them will contain
imperfect split. So, there will be more failure cases after this PR, although
they are almost bad schedules. I'm not sure whether it will influence the cost
model.
Generally, these two cases are not common in most uses. So I will approve
this PR after CI's green. I just remind you of these and like to listen to your
thought.
----------------------------------------------------------------
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:
[email protected]
With regards,
Apache Git Services