From 84e98900e84bba5f18ac4928f9f46718423dafda Mon Sep 17 00:00:00 2001 From: chenyu Date: Thu, 17 Oct 2024 15:23:43 -0400 Subject: [PATCH] test linearizer failure 53 (#7137) variable scope issue caused compile error --- test/test_linearizer_failures.py | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/test/test_linearizer_failures.py b/test/test_linearizer_failures.py index 3e07b7a7de..3daa193f3f 100644 --- a/test/test_linearizer_failures.py +++ b/test/test_linearizer_failures.py @@ -1260,5 +1260,41 @@ class TestLinearizerFailures(unittest.TestCase): opts = [Opt(op=OptOps.TC, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16)] helper_test_lin(Kernel(ast, opts=Device[Device.DEFAULT].renderer), opts=opts, failed_platforms=["CUDA", "NV"]) + def test_failure_53(self): + # COMPILE_ERROR, val scope issue + ast = UOp(UOps.SINK, dtypes.void, arg=None, src=( + UOp(UOps.STORE, dtypes.void, arg=None, src=( + UOp(UOps.DEFINE_GLOBAL, dtypes.uchar.ptr(), arg=0, src=()), + UOp(UOps.VIEW, dtypes.void, arg=ShapeTracker(views=(View(shape=(1024, 1, 1), strides=(1, 0, 0), offset=0, mask=None, contiguous=True),)), src=()), + UOp(UOps.REDUCE_AXIS, dtypes.uchar, arg=(BinaryOps.ADD, (1,)), src=( + UOp(UOps.ALU, dtypes.uchar, arg=BinaryOps.MUL, src=( + UOp(UOps.LOAD, dtypes.uchar, arg=None, src=( + UOp(UOps.DEFINE_GLOBAL, dtypes.uchar.ptr(), arg=1, src=()), + UOp(UOps.VIEW, dtypes.void, arg=ShapeTracker(views=(View(shape=(1024, 50000, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)), src=()),)), + UOp(UOps.CAST, dtypes.uchar, arg=None, src=( + UOp(UOps.ALU, dtypes.bool, arg=BinaryOps.CMPNE, src=( + UOp(UOps.ALU, dtypes.bool, arg=BinaryOps.CMPNE, src=( + UOp(UOps.LOAD, dtypes.int, arg=None, src=( + UOp(UOps.DEFINE_GLOBAL, dtypes.int.ptr(), arg=2, src=()), + UOp(UOps.VIEW, dtypes.void, arg=ShapeTracker(views=(View(shape=(1024, 50000, 1), strides=(1, 0, 0), offset=0, mask=None, contiguous=False),)), src=()),)), + UOp(UOps.ALU, dtypes.int, arg=BinaryOps.ADD, src=( + UOp(UOps.REDUCE_AXIS, dtypes.int, arg=(BinaryOps.ADD, (2,)), src=( + UOp(UOps.ALU, dtypes.int, arg=TernaryOps.WHERE, src=( + UOp(UOps.VALID, dtypes.bool, arg=None, src=( + UOp(UOps.VIEW, dtypes.void, arg=ShapeTracker(views=(View(shape=(50001, 99999), strides=(0, 0), offset=0, mask=((0, 50001), (49999, 99999)), contiguous=False), View(shape=(1024, 50000, 50000), strides=(0, 1, 100000), offset=0, mask=None, contiguous=False))), src=()),)), + UOp(UOps.CONST, dtypes.int, arg=1, src=()), + x20:=UOp(UOps.CONST, dtypes.int, arg=0, src=()),)),)), + UOp(UOps.ALU, dtypes.int, arg=TernaryOps.WHERE, src=( + x22:=UOp(UOps.VALID, dtypes.bool, arg=None, src=( + UOp(UOps.VIEW, dtypes.void, arg=ShapeTracker(views=(View(shape=(1024, 50000, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)), src=()),)), + UOp(UOps.CONST, dtypes.int, arg=-1, src=()), + x20,)),)),)), + UOp(UOps.ALU, dtypes.bool, arg=TernaryOps.WHERE, src=( + x22, + UOp(UOps.CONST, dtypes.bool, arg=True, src=()), + UOp(UOps.CONST, dtypes.bool, arg=False, src=()),)),)),)),)),)),)),)) + opts = [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)] + helper_test_lin(Kernel(ast, opts=Device[Device.DEFAULT].renderer), opts=opts, failed_platforms=["AMD", "GPU", "METAL", "NV", "CUDA"]) + if __name__ == '__main__': unittest.main()