From bf0d928417114a287c0be614cb2eb6360310b192 Mon Sep 17 00:00:00 2001 From: George Hotz Date: Wed, 26 Mar 2025 19:42:44 +0800 Subject: [PATCH] add back index check --- tinygrad/runtime/ops_dsp.py | 4 ++-- tinygrad/spec.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tinygrad/runtime/ops_dsp.py b/tinygrad/runtime/ops_dsp.py index ef01aa68f9..7202ccf096 100644 --- a/tinygrad/runtime/ops_dsp.py +++ b/tinygrad/runtime/ops_dsp.py @@ -247,8 +247,8 @@ def vectorize_shuffle(vec:UOp): return None dsp_pm_late = PatternMatcher([ - # prefetch L1 - (UPat(Ops.LOAD, dtype=(dtypes.uchar.vec(4), dtypes.uchar.vec(8)), name="ld"), prefetch_l1), + # prefetch L1 (breaks the index check!) + #(UPat(Ops.LOAD, dtype=(dtypes.uchar.vec(4), dtypes.uchar.vec(8)), name="ld"), prefetch_l1), # 64 -> 128 #(UPat(Ops.LOAD, dtype=dtypes.uchar.vec(64), src=(UPat(Ops.CAST, src=(UPat(Ops.INDEX, name="idx"),)),)), diff --git a/tinygrad/spec.py b/tinygrad/spec.py index 545b8aba26..5403ae929b 100644 --- a/tinygrad/spec.py +++ b/tinygrad/spec.py @@ -90,7 +90,8 @@ spec = PatternMatcher([ # INDEX is used in new style load/store # INDEX takes a - (UPat(Ops.INDEX, src=(UPat((Ops.DEFINE_GLOBAL, Ops.DEFINE_LOCAL, Ops.INDEX)), UPat())), lambda: True), + #(UPat(Ops.INDEX, src=(UPat((Ops.DEFINE_GLOBAL, Ops.DEFINE_LOCAL, Ops.INDEX)), UPat())), lambda: True), + (UPat(Ops.INDEX, src=(UPat((Ops.DEFINE_GLOBAL, Ops.DEFINE_LOCAL)), UPat()), name="idx"), validate_index), (UPat(Ops.INDEX, src=(UPat((Ops.DEFINE_GLOBAL, Ops.DEFINE_LOCAL)), UPat(), UPat(dtype=dtypes.bool, name="mask")), name="idx"), validate_index), # LOAD takes a