diff --git a/test/external/external_uop_gc.py b/test/external/external_uop_gc.py index e52500fc19..8e8829e432 100644 --- a/test/external/external_uop_gc.py +++ b/test/external/external_uop_gc.py @@ -3,7 +3,7 @@ from tinygrad import Tensor, UOp, Device, nn from tinygrad.schedule import schedule_cache from tinygrad.codegen import to_program, to_program_cache from tinygrad.schedule.indexing import apply_movement_op, _apply_reshape -from tinygrad.uop.divandmod import fold_divmod_general +from tinygrad.codegen.decomp.divandmod import fold_divmod_general from test.test_tiny import TestTiny def uops_allocated(): return sum([isinstance(x, UOp) for x in gc.get_objects()]) diff --git a/test/external/fuzz_fast_idiv.py b/test/external/fuzz_fast_idiv.py index b5bc25a03e..b114d632bf 100644 --- a/test/external/fuzz_fast_idiv.py +++ b/test/external/fuzz_fast_idiv.py @@ -3,7 +3,7 @@ import z3 from tinygrad import dtypes, Device from tinygrad.uop.validate import uops_to_z3, z3_cdiv from tinygrad.uop.ops import UOp -from tinygrad.uop.decompositions import fast_idiv +from tinygrad.codegen.decomp.decompositions import fast_idiv random.seed(42) powers_of_two = [2**i for i in range(64)] diff --git a/test/mockgpu/amd/pcode.py b/test/mockgpu/amd/pcode.py index b4177fd23a..a8cdb80847 100644 --- a/test/mockgpu/amd/pcode.py +++ b/test/mockgpu/amd/pcode.py @@ -2,7 +2,7 @@ from typing import Any, Callable from tinygrad.dtype import dtypes from tinygrad.uop.ops import Ops, UOp -from tinygrad.uop.decompositions import f2f +from tinygrad.codegen.decomp.decompositions import f2f # Type alias for vars dict: stores UOps and tuples for lambda definitions VarVal = UOp | tuple[str, list[str], str] diff --git a/test/null/test_transcendental_helpers.py b/test/null/test_transcendental_helpers.py index 107371a13f..d422b38ad3 100644 --- a/test/null/test_transcendental_helpers.py +++ b/test/null/test_transcendental_helpers.py @@ -2,8 +2,8 @@ import unittest, math import numpy as np from tinygrad import dtypes from tinygrad.uop.ops import UOp -from tinygrad.uop.decompositions import TRANSCENDENTAL_DTYPES, payne_hanek_reduction, cody_waite_reduction -from tinygrad.uop.decompositions import frexp, rintk, xpow, xexp2, xlog2, trig_poly, pow2if +from tinygrad.codegen.decomp.decompositions import TRANSCENDENTAL_DTYPES, payne_hanek_reduction, cody_waite_reduction +from tinygrad.codegen.decomp.decompositions import frexp, rintk, xpow, xexp2, xlog2, trig_poly, pow2if from test.helpers import eval_uop class TestTranscendentalFunctions(unittest.TestCase): diff --git a/tinygrad/codegen/__init__.py b/tinygrad/codegen/__init__.py index ea282abf7f..e4cdfffc63 100644 --- a/tinygrad/codegen/__init__.py +++ b/tinygrad/codegen/__init__.py @@ -12,7 +12,8 @@ from tinygrad.dtype import dtypes, PtrDType, ImageDType # import all pattern matchers here from tinygrad.codegen.gpudims import pm_add_gpudims from tinygrad.uop.symbolic import sym, symbolic_simple, gep_pushing, symbolic, pm_move_where_on_load, pm_clean_up_group_sink, pm_remove_invalid -from tinygrad.uop.decompositions import get_late_rewrite_patterns, get_transcendental_patterns, pm_dtype_decomps, get_simplifying_rewrite_patterns +from tinygrad.codegen.decomp.decompositions import get_late_rewrite_patterns, get_transcendental_patterns, pm_dtype_decomps, \ + get_simplifying_rewrite_patterns from tinygrad.codegen.late.expander import expander, pm_pre_expander, pm_group_for_reduce from tinygrad.codegen.late.devectorizer import load_store_folding, load_store_indexing, devectorize_buf_and_index, devectorize_alu, pm_reduce, \ ReduceContext, correct_load_store, pm_render, pm_add_loads, pm_make_images diff --git a/tinygrad/uop/decompositions.py b/tinygrad/codegen/decomp/decompositions.py similarity index 100% rename from tinygrad/uop/decompositions.py rename to tinygrad/codegen/decomp/decompositions.py diff --git a/tinygrad/uop/divandmod.py b/tinygrad/codegen/decomp/divandmod.py similarity index 100% rename from tinygrad/uop/divandmod.py rename to tinygrad/codegen/decomp/divandmod.py diff --git a/tinygrad/renderer/llvmir.py b/tinygrad/renderer/llvmir.py index 012ae9335f..0eefd4000c 100644 --- a/tinygrad/renderer/llvmir.py +++ b/tinygrad/renderer/llvmir.py @@ -2,7 +2,7 @@ import math, struct, sys from tinygrad.codegen.opt import tc from tinygrad.renderer import Renderer from tinygrad.renderer.cstyle import HIPRenderer, create_non_native_float_pats, pm_manual_bf16_cast -from tinygrad.uop.decompositions import xexp2, xlog2 +from tinygrad.codegen.decomp.decompositions import xexp2, xlog2 from tinygrad.uop.ops import UOp, PatternMatcher, UPat, Ops, GroupOp, range_str from tinygrad.dtype import dtypes, float_to_fp8, DType, PtrDType, truncate, AddrSpace from tinygrad.helpers import prod, Target, CPU_COUNT, getenv, OSX diff --git a/tinygrad/uop/symbolic.py b/tinygrad/uop/symbolic.py index fddca068d1..15ae493361 100644 --- a/tinygrad/uop/symbolic.py +++ b/tinygrad/uop/symbolic.py @@ -4,8 +4,8 @@ from collections import defaultdict from tinygrad.uop.ops import Ops, PatternMatcher, UPat, UOp, GroupOp, exec_alu from tinygrad.dtype import PyConst, ConstType, dtypes, PtrDType, can_lossless_cast, Invalid from tinygrad.helpers import partition, all_same, prod, flatten, get_single_element, unwrap, IMAGE, dedup -from tinygrad.uop.decompositions import threefry2x32, xpow -from tinygrad.uop.divandmod import div_and_mod_symbolic +from tinygrad.codegen.decomp.decompositions import threefry2x32, xpow +from tinygrad.codegen.decomp.divandmod import div_and_mod_symbolic # ******** phase 1 of symbolic used to live in ops, it's the most generic folding rules ********