From d5fc6af4a22d4423abed615e28e6f16e98a3dc6a Mon Sep 17 00:00:00 2001 From: chenyu Date: Tue, 29 Jul 2025 15:36:19 -0700 Subject: [PATCH] remove unused ShapeTracker.consecutive [pr] (#11426) --- test/unit/test_shapetracker.py | 33 --------------------------------- tinygrad/shape/shapetracker.py | 5 +---- 2 files changed, 1 insertion(+), 37 deletions(-) diff --git a/test/unit/test_shapetracker.py b/test/unit/test_shapetracker.py index 23fda92598..b9ffce946e 100644 --- a/test/unit/test_shapetracker.py +++ b/test/unit/test_shapetracker.py @@ -827,39 +827,6 @@ class TestShapeTrackerSize(unittest.TestCase): st = ShapeTracker.from_shape((10,10)).pad(((2,4), (3,1))).flip((True, True)) self.assertEqual(st.real_size(), 100) -class TestConsecutive(unittest.TestCase): - @classmethod - def setUpClass(self): - from tinygrad.tensor import Tensor # easier test setup - self.t = Tensor([[1, 2, 3, 4], [5, 6, 7, 8]]) - self.const = Tensor(2) - self.ones = Tensor.ones(2, 4) - - def test_unmodified(self): - assert self.t.uop.st.consecutive - assert self.t.reshape(4, 2).uop.st.consecutive - assert self.t.reshape(1, 8).uop.st.consecutive - - def test_sliced(self): - assert self.t[0].uop.st.consecutive - assert self.t[0, 1:2].uop.st.consecutive - assert self.t[1].uop.st.consecutive - assert not self.t[:, 0].uop.st.consecutive - assert not self.t[:, 1].uop.st.consecutive - - def test_padded(self): - assert not self.t.pad(((1, 1), None)).uop.st.consecutive - assert not self.t.pad((None, (1, 1))).uop.st.consecutive - - def test_const(self): - assert self.const.uop.st.consecutive - - def test_ones(self): - assert not self.ones.uop.st.consecutive - assert not self.ones[0, :].uop.st.consecutive - # consecutive if sliced into size 1 - assert self.ones[0, 0].uop.st.consecutive - class TestRender(unittest.TestCase): def test_render(self): st = ShapeTracker.from_shape((2, 3)) diff --git a/tinygrad/shape/shapetracker.py b/tinygrad/shape/shapetracker.py index dc70fca5b6..3e9b09f7d7 100644 --- a/tinygrad/shape/shapetracker.py +++ b/tinygrad/shape/shapetracker.py @@ -4,7 +4,7 @@ from dataclasses import dataclass import functools from typing import Callable from tinygrad.helpers import merge_dicts, getenv -from tinygrad.shape.view import View, strides_for_shape, unravel +from tinygrad.shape.view import View, unravel from tinygrad.dtype import dtypes from tinygrad.uop.ops import UOp, Ops, graph_rewrite, Variable, sint, sint_to_uop, Context, PatternMatcher, UPat, GroupOp from tinygrad.uop.symbolic import split_uop, symbolic_flat, uop_given_valid, simplify_valid @@ -75,9 +75,6 @@ class ShapeTracker: @property def contiguous(self) -> bool: return len(self.views) == 1 and self.views[0].contiguous - @property - def consecutive(self) -> bool: return len(self.views) == 1 and (v:=self.views[0]).mask is None and v.strides == strides_for_shape(v.shape) - @property def shape(self) -> tuple[sint, ...]: return self.views[-1].shape