Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
e386176
when there is no intrin func, using body for initialization. For issu…
kun-zh Dec 25, 2017
1151fd6
Merge branch 'master' into master
kun-zh Dec 26, 2017
784a0fd
Refine code per review comments, and add a test case.
kun-zh Dec 26, 2017
5bbc941
Merge branch 'master' of https://github.com/kun-zh/tvm
kun-zh Dec 26, 2017
ab49e9f
Fix lint issues.
kun-zh Dec 27, 2017
dd7aefd
Re-organize the tensorize test cases, and add a new case for none-reset
kun-zh Dec 27, 2017
9329d91
Merge pull request #1 from dmlc/master
kun-zh Dec 28, 2017
e17ae7f
Fix a typo.
kun-zh Dec 28, 2017
e59bddd
Delete the unit case because merged it into test_schedule_tensorize.p…
kun-zh Dec 28, 2017
1e8e5fd
Merge pull request #2 from dmlc/master
kun-zh Jan 2, 2018
42adaf0
always use new tensor in its stage when rewrite for cache read
kun-zh Jan 2, 2018
edb22fa
revert previous changes to sync up with master
kun-zh Jan 5, 2018
77be1c9
Merge pull request #3 from dmlc/master
kun-zh Jan 5, 2018
fa39583
Merge pull request #4 from dmlc/master
kun-zh Jan 17, 2018
2db9d8a
Merge pull request #5 from dmlc/master
kun-zh Jan 26, 2018
1a860fe
support using the ptr with an original offset
kun-zh Jan 26, 2018
da45e14
Merge branch 'master' into master
kun-zh Jan 27, 2018
0ff0d89
update test case and fix CI error
kun-zh Jan 27, 2018
b7b187c
Merge pull request #6 from dmlc/master
kun-zh Jan 30, 2018
e928834
Merge pull request #7 from dmlc/master
kun-zh Mar 9, 2018
8194132
Merge pull request #8 from dmlc/master
kun-zh Mar 28, 2018
9909c98
fix a bug in ReplaceDataFlow for issue 1043
kun-zh Mar 28, 2018
740a630
fix lint error
kun-zh Mar 28, 2018
6ae29f4
add the test case in issue 1043
kun-zh Mar 29, 2018
40ede88
Merge branch 'master' into master
kun-zh Mar 29, 2018
53acdd7
Merge branch 'master' into master
kun-zh Mar 30, 2018
925fb4d
Merge branch 'master' into master
kun-zh Mar 31, 2018
43c764b
Merge branch 'master' into master
kun-zh Mar 31, 2018
d8fb1dc
refine code per review suggestions
kun-zh Mar 31, 2018
da809a8
Merge pull request #9 from dmlc/master
kun-zh Apr 4, 2018
852e5d4
Merge pull request #10 from dmlc/master
kun-zh Apr 8, 2018
009f59f
Merge pull request #11 from dmlc/master
kun-zh Apr 8, 2018
5f4191d
Generate Lower Bound Conditions to fix issue 1014
kun-zh Apr 8, 2018
e9de737
update test case to fix regression issue
kun-zh Apr 8, 2018
9493856
Merge branch 'master' into master
kun-zh Apr 10, 2018
2df509b
Merge branch 'master' into master
kun-zh Apr 11, 2018
f1afda9
fix regression failure
kun-zh Apr 11, 2018
d729127
refine code
kun-zh Apr 12, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions src/schedule/message_passing.cc
Original file line number Diff line number Diff line change
Expand Up @@ -477,9 +477,14 @@ std::vector<Expr> MakeBoundCheck(
CHECK(iv->dom.defined());
if (!skip_ivar_domain && !iv->dom.same_as(dom)) {
Expr value = ComputeExpr<Sub>(value_map.at(iv), iv->dom->min);
Expr vmax = EvalSet(value, iset_dmap).max();
IntSet s = EvalSet(value, iset_dmap);
Expr vmin = s.min();
Expr vmax = s.max();
if (vmin.type() != value.type() || !can_prove(vmin >= iv->dom->min)) {
preds.emplace_back(value >= 0);
}
if (vmax.type() != value.type() || !can_prove(vmax < iv->dom->extent)) {
preds.emplace_back(value < iv->dom->extent);
preds.emplace_back(value < (iv->dom->extent - iv->dom->min));
}
}
}
Expand Down
1 change: 1 addition & 0 deletions tests/python/unittest/test_pass_inject_copy_intrin.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ def test_copy_pad_split():
Ab = tvm.decl_buffer(A.shape, A.dtype, name='A')
Bb = tvm.decl_buffer(B.shape, B.dtype, name='B')
stmt = tvm.ir_pass.StorageFlatten(stmt, {A: Ab, B: Bb}, 64)
stmt = tvm.ir_pass.Simplify(stmt)
stmt = tvm.ir_pass.CanonicalSimplify(stmt)
def cb(src, dst, pad_before, pad_after, pad_value):
assert(dst.elem_offset.value == 0)
Expand Down
13 changes: 13 additions & 0 deletions tests/python/unittest/test_schedule_schedule_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,18 @@ def test_schedule_cache_relayout3():
stmt = tvm.schedule.ScheduleOps(s, bounds)


def test_schedule_bound_condition():
A = tvm.placeholder((64,), name='A', dtype="float32")
Apad = tvm.compute((66,), lambda i: tvm.select(tvm.all(i>0, i < 65), A[i-1], tvm.const(0.)), name='Apad')
Apad2 = tvm.compute((66,), lambda i: Apad[i]*2, name='Apad2')
s = tvm.create_schedule(Apad2.op)
AL1 = s.cache_read(A,"local",[Apad])
s = s.normalize()
bounds = tvm.schedule.InferBound(s)
stmt = tvm.schedule.ScheduleOps(s, bounds)
stmt = tvm.ir_pass.Simplify(stmt)
assert (isinstance(stmt.body.body.first.body.body.then_case, tvm.stmt.IfThenElse))

if __name__ == "__main__":
test_schedule_middle_cache()
test_inline_multi_reduce()
Expand All @@ -265,3 +277,4 @@ def test_schedule_cache_relayout3():
test_schedule1()
test_schedule2()
test_schedule_cache()
test_schedule_bound_condition()