diff --git a/docs/abstractions2.py b/docs/abstractions2.py index 7112efe4ff..3e5deafab0 100644 --- a/docs/abstractions2.py +++ b/docs/abstractions2.py @@ -73,7 +73,7 @@ assert out.as_buffer().cast('I')[0] == 5 print("******** third, the LazyBuffer ***********") from tinygrad.lazy import LazyBuffer, LoadOps -from tinygrad.realize import run_schedule, create_schedule +from tinygrad.engine.realize import run_schedule, create_schedule # allocate some values + load in values a = LazyBuffer.loadop(LoadOps.EMPTY, (1,), dtypes.int32, DEVICE) diff --git a/examples/benchmark_train_efficientnet.py b/examples/benchmark_train_efficientnet.py index 6e96d8762e..fb26e2893a 100755 --- a/examples/benchmark_train_efficientnet.py +++ b/examples/benchmark_train_efficientnet.py @@ -7,7 +7,7 @@ from tinygrad.nn.state import get_parameters from tinygrad.nn import optim from tinygrad import Tensor, GlobalCounters from tinygrad.helpers import getenv -from tinygrad.features.jit import CacheCollector +from tinygrad.engine.jit import CacheCollector def tensors_allocated(): return sum(isinstance(x, Tensor) for x in gc.get_objects()) diff --git a/examples/efficientnet.py b/examples/efficientnet.py index 7bfacd4d8c..863af3d124 100644 --- a/examples/efficientnet.py +++ b/examples/efficientnet.py @@ -9,7 +9,7 @@ import numpy as np from PIL import Image from tinygrad.tensor import Tensor from tinygrad.helpers import getenv, fetch, Timing -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from extra.models.efficientnet import EfficientNet np.set_printoptions(suppress=True) diff --git a/examples/handcode_resnet50_opt.py b/examples/handcode_resnet50_opt.py index ee2acba2f3..4ce146c2ab 100644 --- a/examples/handcode_resnet50_opt.py +++ b/examples/handcode_resnet50_opt.py @@ -8,7 +8,7 @@ from tinygrad.features.search import time_linearizer, beam_search, bufs_from_lin from tinygrad.helpers import ansilen, DEBUG, getenv from tinygrad.shape.symbolic import sym_infer from tinygrad.dtype import dtypes -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule if __name__ == "__main__": if getenv("HALF"): diff --git a/examples/mlperf/model_eval.py b/examples/mlperf/model_eval.py index 7dadc9ef36..69d5be853e 100644 --- a/examples/mlperf/model_eval.py +++ b/examples/mlperf/model_eval.py @@ -3,7 +3,7 @@ start = time.perf_counter() from pathlib import Path import numpy as np from tinygrad import Tensor, Device, dtypes, GlobalCounters -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from tinygrad.nn.state import get_parameters, load_state_dict, safe_load from tinygrad.helpers import getenv, Timing from examples.mlperf import helpers @@ -103,7 +103,7 @@ def eval_retinanet(): coco_eval = COCOeval(coco, iouType="bbox") coco_evalimgs, evaluated_imgs, ncats, narea = [], [], len(coco_eval.params.catIds), len(coco_eval.params.areaRng) - from tinygrad.features.jit import TinyJit + from tinygrad.engine.jit import TinyJit mdlrun = TinyJit(lambda x: mdl(input_fixup(x)).realize()) n, bs = 0, 8 diff --git a/examples/stable_diffusion.py b/examples/stable_diffusion.py index 96b9c744ed..c7048c0a21 100644 --- a/examples/stable_diffusion.py +++ b/examples/stable_diffusion.py @@ -13,7 +13,7 @@ from tinygrad import Device, GlobalCounters, dtypes, Tensor from tinygrad.helpers import Timing, Context, getenv, fetch, colored from tinygrad.nn import Conv2d, Linear, GroupNorm, LayerNorm, Embedding from tinygrad.nn.state import torch_load, load_state_dict, get_state_dict -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit class AttnBlock: def __init__(self, in_channels): diff --git a/examples/vits.py b/examples/vits.py index 37cb61e0c3..1708b3568f 100644 --- a/examples/vits.py +++ b/examples/vits.py @@ -9,7 +9,7 @@ from tinygrad import nn, dtypes from tinygrad.helpers import fetch from tinygrad.nn.state import torch_load from tinygrad.tensor import Tensor -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from unidecode import unidecode LRELU_SLOPE = 0.1 diff --git a/examples/whisper.py b/examples/whisper.py index 536f2134bd..5caf1f2f0c 100644 --- a/examples/whisper.py +++ b/examples/whisper.py @@ -6,7 +6,7 @@ import base64 import multiprocessing import numpy as np from typing import Optional, Union, Literal, List -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from tinygrad.nn.state import torch_load, load_state_dict from tinygrad.helpers import getenv, DEBUG, CI, fetch import tinygrad.nn as nn diff --git a/extra/autopad.py b/extra/autopad.py index 7aebc2358f..25f739682f 100644 --- a/extra/autopad.py +++ b/extra/autopad.py @@ -3,7 +3,7 @@ from tinygrad.ops import LoadOps from tinygrad.codegen.linearizer import Linearizer from test.external.fuzz_linearizer import run_linearizer from tinygrad.codegen.kernel import Opt, OptOps -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule N = 17**3 diff --git a/extra/datasets/kits19.py b/extra/datasets/kits19.py index 12bcd3cfa6..ef32a936bf 100644 --- a/extra/datasets/kits19.py +++ b/extra/datasets/kits19.py @@ -91,7 +91,7 @@ def pad_input(volume, roi_shape, strides, padding_mode="constant", padding_val=- return F.pad(torch.from_numpy(volume), paddings, mode=padding_mode, value=padding_val).numpy(), paddings def sliding_window_inference(model, inputs, labels, roi_shape=(128, 128, 128), overlap=0.5): - from tinygrad.features.jit import TinyJit + from tinygrad.engine.jit import TinyJit mdl_run = TinyJit(lambda x: model(x).realize()) image_shape, dim = list(inputs.shape[2:]), len(inputs.shape[2:]) strides = [int(roi_shape[i] * (1 - overlap)) for i in range(dim)] diff --git a/extra/export_model.py b/extra/export_model.py index 9c931f4a13..fd7cba5ae3 100644 --- a/extra/export_model.py +++ b/extra/export_model.py @@ -1,7 +1,7 @@ from typing import Tuple, Dict, List from tinygrad.dtype import DType from tinygrad.tensor import Device, Tensor -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from tinygrad.nn.state import get_state_dict from tinygrad.dtype import dtypes import json diff --git a/extra/gemm/metal_conv.py b/extra/gemm/metal_conv.py index 0d0c1f4ac7..1dc7a18ea2 100644 --- a/extra/gemm/metal_conv.py +++ b/extra/gemm/metal_conv.py @@ -32,7 +32,7 @@ except RuntimeError: print("no torch metal conv") from tinygrad.tensor import Tensor -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from tinygrad import Device b = Tensor(nb) c = Tensor(nc) diff --git a/extra/gemm/metal_matmul.py b/extra/gemm/metal_matmul.py index 255eedf24a..76cd1473b3 100644 --- a/extra/gemm/metal_matmul.py +++ b/extra/gemm/metal_matmul.py @@ -116,7 +116,7 @@ tm = min([torch_prog(b, c) for _ in range(20)]) print(f"{N*N:10d} {tm*1e6:9.2f} us, would be {FLOPS*1e-9/tm:9.2f} GFLOPS matmul in torch") from tinygrad.tensor import Tensor -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit b = Tensor(nb) c = Tensor(nc) # TODO: slowness without the JIT I suspect comes from a lack of a caching allocator diff --git a/extra/gemm/metal_matvec.py b/extra/gemm/metal_matvec.py index ce9b34de33..0317312ec5 100644 --- a/extra/gemm/metal_matvec.py +++ b/extra/gemm/metal_matvec.py @@ -4,7 +4,7 @@ import numpy as np import time, torch, torch.mps from tinygrad.tensor import Tensor -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from tinygrad import Device, GlobalCounters, dtypes from tinygrad.helpers import colored, getenv, CI, flat_mv @@ -108,7 +108,7 @@ metalalloc.copyout(flat_mv(metal_a.data), a) np.testing.assert_allclose(metal_a, torch_a, atol=5e-3) from tinygrad.tensor import Tensor -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit b = Tensor(nb) c = Tensor(nc) # TODO: slowness without the JIT I suspect comes from a lack of a caching allocator diff --git a/extra/gemm/tvm_gemm.py b/extra/gemm/tvm_gemm.py index d89d189852..1c5253b604 100644 --- a/extra/gemm/tvm_gemm.py +++ b/extra/gemm/tvm_gemm.py @@ -30,7 +30,7 @@ except ImportError: import os from tinygrad.tensor import Tensor -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule # define the compute A = Tensor.rand(M, K, device="clang") diff --git a/extra/models/rnnt.py b/extra/models/rnnt.py index d7082c4be6..3902fe2313 100644 --- a/extra/models/rnnt.py +++ b/extra/models/rnnt.py @@ -1,5 +1,5 @@ from tinygrad.tensor import Tensor -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from tinygrad.nn import Linear, Embedding from tinygrad.helpers import fetch import numpy as np diff --git a/extra/training.py b/extra/training.py index 7cd353830b..9145830840 100644 --- a/extra/training.py +++ b/extra/training.py @@ -2,7 +2,7 @@ import numpy as np from tqdm import trange from tinygrad.tensor import Tensor from tinygrad.helpers import CI -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit def train(model, X_train, Y_train, optim, steps, BS=128, lossfn=lambda out,y: out.sparse_categorical_crossentropy(y), diff --git a/openpilot/compile2.py b/openpilot/compile2.py index acedf9b0fc..e82119bae4 100644 --- a/openpilot/compile2.py +++ b/openpilot/compile2.py @@ -16,7 +16,7 @@ from extra.onnx import get_run_onnx from tinygrad import Tensor, Device, GlobalCounters, dtypes from tinygrad.dtype import ImageDType from tinygrad.helpers import partition, Context, fetch, getenv, GRAPH, DEBUG -from tinygrad.realize import run_schedule, lower_schedule_item, create_schedule +from tinygrad.engine.realize import run_schedule, lower_schedule_item, create_schedule from tinygrad.ops import LoadOps, ScheduleItem Device.DEFAULT = "GPU" diff --git a/setup.py b/setup.py index d0446d80c0..e69ea3b572 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ setup(name='tinygrad', license='MIT', long_description=long_description, long_description_content_type='text/markdown', - packages = ['tinygrad', 'tinygrad.runtime.autogen', 'tinygrad.codegen', 'tinygrad.nn', 'tinygrad.renderer', + packages = ['tinygrad', 'tinygrad.runtime.autogen', 'tinygrad.codegen', 'tinygrad.nn', 'tinygrad.renderer', 'tinygrad.engine', 'tinygrad.runtime', 'tinygrad.runtime.driver', 'tinygrad.runtime.graph', 'tinygrad.shape', 'tinygrad.features'], classifiers=[ "Programming Language :: Python :: 3", @@ -54,7 +54,7 @@ setup(name='tinygrad', "hypothesis", ], 'testing_tf': [ - "tensorflow", + "tensorflow==2.15.1", "tensorflow_addons", ] }, diff --git a/test/external/external_benchmark_multitensor_allreduce.py b/test/external/external_benchmark_multitensor_allreduce.py index 5a097628d6..24496fe3c3 100644 --- a/test/external/external_benchmark_multitensor_allreduce.py +++ b/test/external/external_benchmark_multitensor_allreduce.py @@ -3,8 +3,8 @@ from tinygrad import Tensor, Device from tinygrad.lazy import LazyBuffer from tinygrad.ops import ReduceOps, GlobalCounters from tinygrad.features.multi import MultiLazyBuffer, all_reduce -from tinygrad.features.jit import TinyJit -from tinygrad.realize import create_schedule, run_schedule +from tinygrad.engine.jit import TinyJit +from tinygrad.engine.realize import create_schedule, run_schedule from tinygrad.helpers import getenv, Context, RING from typing import List, Union diff --git a/test/external/external_model_benchmark.py b/test/external/external_model_benchmark.py index db4fad333b..57deec65b6 100644 --- a/test/external/external_model_benchmark.py +++ b/test/external/external_model_benchmark.py @@ -66,7 +66,7 @@ def benchmark_model(m, devices, validate_outs=False): tinygrad_model = get_run_onnx(onnx_model) benchmark(m, f"tinygrad_{device.lower()}_jitless", lambda: {k:v.numpy() for k,v in tinygrad_model(inputs).items()}) - from tinygrad.features.jit import TinyJit + from tinygrad.engine.jit import TinyJit tinygrad_jitted_model = TinyJit(lambda **kwargs: {k:v.realize() for k,v in tinygrad_model(kwargs).items()}) for _ in range(3): {k:v.numpy() for k,v in tinygrad_jitted_model(**inputs).items()} benchmark(m, f"tinygrad_{device.lower()}_jit", lambda: {k:v.numpy() for k,v in tinygrad_jitted_model(**inputs).items()}) # noqa: F821 diff --git a/test/external/external_test_hip_compile.py b/test/external/external_test_hip_compile.py index e351d3a488..68fa2b7e3a 100644 --- a/test/external/external_test_hip_compile.py +++ b/test/external/external_test_hip_compile.py @@ -2,7 +2,7 @@ import time, unittest from tinygrad.runtime.driver.hip_comgr import compile_hip from tinygrad import Tensor from tinygrad.device import Device -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule from tinygrad.codegen.linearizer import Linearizer class TestHIPCompileSpeed(unittest.TestCase): diff --git a/test/external/external_test_hsa_driver.py b/test/external/external_test_hsa_driver.py index e108c01bd3..4dd8cded33 100644 --- a/test/external/external_test_hsa_driver.py +++ b/test/external/external_test_hsa_driver.py @@ -4,7 +4,7 @@ from tinygrad.device import Device, Buffer, BufferXfer from tinygrad.dtype import dtypes from tinygrad.runtime.driver.hsa import AQLQueue from tinygrad.runtime.graph.hsa import VirtAQLQueue, HSAGraph -from tinygrad.features.jit import JitItem +from tinygrad.engine.jit import JitItem def get_hsa_inc_prog(dev, inc=1): prg = f""" diff --git a/test/external/external_test_jit_on_models.py b/test/external/external_test_jit_on_models.py index 4ce5adfea4..92b18bdb03 100644 --- a/test/external/external_test_jit_on_models.py +++ b/test/external/external_test_jit_on_models.py @@ -2,7 +2,7 @@ import unittest import numpy as np from tinygrad import Tensor, dtypes -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from tinygrad.helpers import CI from test.helpers import derandomize_model diff --git a/test/external/external_test_opt.py b/test/external/external_test_opt.py index fdb349020f..75bacc273c 100644 --- a/test/external/external_test_opt.py +++ b/test/external/external_test_opt.py @@ -17,7 +17,7 @@ from tinygrad.helpers import getenv from tinygrad.nn import optim #from tinygrad.lazy import PUSH_PERMUTES PUSH_PERMUTES = False -from tinygrad.features.jit import CacheCollector +from tinygrad.engine.jit import CacheCollector class CLCache: def __init__(self, allowed=None, strict=False, preclear=True, var_vals=None): diff --git a/test/external/external_test_uops_graphing.py b/test/external/external_test_uops_graphing.py index 56bd18cd7b..82bdd0b1ac 100644 --- a/test/external/external_test_uops_graphing.py +++ b/test/external/external_test_uops_graphing.py @@ -4,7 +4,7 @@ from tinygrad.tensor import Tensor from tinygrad.codegen.linearizer import Linearizer from tinygrad.renderer.cstyle import OpenCLRenderer from tinygrad.features.graph import graph_uops -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule from tinygrad.nn import Conv2d class TestUopsGraph(unittest.TestCase): diff --git a/test/models/test_real_world.py b/test/models/test_real_world.py index 4615006910..aee49587df 100644 --- a/test/models/test_real_world.py +++ b/test/models/test_real_world.py @@ -2,7 +2,7 @@ import unittest, time, gc import numpy as np from tinygrad.nn import optim from tinygrad.nn.state import get_parameters -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from tinygrad import Tensor, Device, GlobalCounters, dtypes from tinygrad.helpers import CI, getenv from tinygrad.shape.symbolic import Variable diff --git a/test/test_conv_shapetracker.py b/test/test_conv_shapetracker.py index 5d46be6335..acd0bda00f 100644 --- a/test/test_conv_shapetracker.py +++ b/test/test_conv_shapetracker.py @@ -3,7 +3,7 @@ import unittest from tinygrad.tensor import Tensor from tinygrad.ops import LoadOps from tinygrad.nn import Conv2d -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule class TestConvShapetracker(unittest.TestCase): def test_conv_3x3_one_view(self): diff --git a/test/test_custom_function.py b/test/test_custom_function.py index b376889f52..76d8c0a038 100644 --- a/test/test_custom_function.py +++ b/test/test_custom_function.py @@ -87,7 +87,7 @@ class TestCustomFunction(unittest.TestCase): @unittest.skipIf(Device.DEFAULT in ["CPU"], "atan2_cpu not jittable") def test_atan2_jit(self): # custom ops even work in the JIT! - from tinygrad.features.jit import TinyJit + from tinygrad.engine.jit import TinyJit @TinyJit def jitted_atan2(a:Tensor, b:Tensor) -> Tensor: diff --git a/test/test_dtype_alu.py b/test/test_dtype_alu.py index 93e581aeee..c141194572 100644 --- a/test/test_dtype_alu.py +++ b/test/test_dtype_alu.py @@ -6,7 +6,7 @@ import numpy as np from hypothesis import given, strategies as strat, settings from tinygrad.dtype import DType from tinygrad.helpers import CI, getenv -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule from tinygrad.ops import UnaryOps, get_lazyop_info from test.helpers import is_dtype_supported diff --git a/test/test_fusion_op.py b/test/test_fusion_op.py index b0c325ff95..5f73a500ee 100644 --- a/test/test_fusion_op.py +++ b/test/test_fusion_op.py @@ -2,7 +2,7 @@ import unittest import time import numpy as np from tinygrad import Tensor, dtypes -from tinygrad.realize import run_schedule, create_schedule, lower_schedule_item +from tinygrad.engine.realize import run_schedule, create_schedule, lower_schedule_item class TestFusionOp(unittest.TestCase): def test_contiguous_add(self): diff --git a/test/test_jit.py b/test/test_jit.py index 1c02aeada3..e9ca4b68b2 100644 --- a/test/test_jit.py +++ b/test/test_jit.py @@ -4,7 +4,7 @@ import numpy as np from test.helpers import assert_jit_cache_len from tinygrad.tensor import Tensor -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from tinygrad.device import Device from tinygrad.helpers import CI diff --git a/test/test_lazybuffer.py b/test/test_lazybuffer.py index 5217244faa..b0bb4b873e 100644 --- a/test/test_lazybuffer.py +++ b/test/test_lazybuffer.py @@ -3,7 +3,7 @@ import numpy as np import unittest from tinygrad import Tensor, Device, dtypes from tinygrad.lazy import LazyBuffer, ReduceOps -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule class TestLazyBuffer(unittest.TestCase): def test_fromcpu_shape_tracker(self): diff --git a/test/test_lazyop.py b/test/test_lazyop.py index da5d8a1227..34e707b5d6 100644 --- a/test/test_lazyop.py +++ b/test/test_lazyop.py @@ -1,6 +1,6 @@ import unittest from tinygrad.tensor import Tensor -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule # stuff needed to unpack a kernel # ruff: noqa: F401 diff --git a/test/test_linearizer.py b/test/test_linearizer.py index e9e6e88bbf..eab1b6ba17 100644 --- a/test/test_linearizer.py +++ b/test/test_linearizer.py @@ -9,8 +9,8 @@ from tinygrad.shape.shapetracker import ShapeTracker from tinygrad.shape.view import View from tinygrad.shape.symbolic import MulNode, Variable, NumNode, Node from tinygrad.tensor import Tensor -from tinygrad.features.jit import CacheCollector -from tinygrad.realize import create_schedule, run_schedule +from tinygrad.engine.jit import CacheCollector +from tinygrad.engine.realize import create_schedule, run_schedule from tinygrad.helpers import prod, Context from tinygrad.dtype import DType, dtypes from tinygrad.codegen.uops import UOpGraph diff --git a/test/test_multitensor.py b/test/test_multitensor.py index 6df21a6c4e..347d45ea1c 100644 --- a/test/test_multitensor.py +++ b/test/test_multitensor.py @@ -5,7 +5,7 @@ from tinygrad.device import BufferCopy from tinygrad.ops import LoadOps, ReduceOps from tinygrad.helpers import CI, prod, Context from tinygrad.nn.state import get_parameters, get_state_dict -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule from tinygrad.features.multi import all_reduce, MultiLazyBuffer from random import randint import numpy as np diff --git a/test/test_schedule.py b/test/test_schedule.py index 609a6db82a..e2128dd8db 100644 --- a/test/test_schedule.py +++ b/test/test_schedule.py @@ -9,7 +9,7 @@ from tinygrad.ops import LoadOps from tinygrad.helpers import DEBUG, GRAPH from tinygrad.codegen.linearizer import Linearizer from tinygrad.features.graph import print_tree, realized_lazybuffer -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule from tinygrad import nn, dtypes def check_schedule(t:Tensor, allowed:int, to_prerealize:Optional[List[Tensor]]=None, filter_loadops=True): diff --git a/test/test_search.py b/test/test_search.py index 81a7100c61..987f156c0e 100644 --- a/test/test_search.py +++ b/test/test_search.py @@ -1,7 +1,7 @@ import unittest from tinygrad.codegen.linearizer import Linearizer -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule from tinygrad.features.search import time_linearizer, bufs_from_lin from tinygrad.device import Device, Buffer from tinygrad.ops import LoadOps diff --git a/test/test_speed_v_torch.py b/test/test_speed_v_torch.py index 6b1e31fd34..01c2a599db 100644 --- a/test/test_speed_v_torch.py +++ b/test/test_speed_v_torch.py @@ -13,7 +13,7 @@ from tinygrad import Device, GlobalCounters from tinygrad.tensor import Tensor from tinygrad.nn import Conv2d from tinygrad.helpers import colored, getenv, CI -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit IN_CHANS = [int(x) for x in getenv("IN_CHANS", "4,16,64").split(",")] diff --git a/test/test_symbolic_jit.py b/test/test_symbolic_jit.py index 96c61f5f2b..be8e854f2f 100644 --- a/test/test_symbolic_jit.py +++ b/test/test_symbolic_jit.py @@ -1,7 +1,7 @@ import unittest from test.helpers import assert_jit_cache_len -from tinygrad.features.jit import TinyJit +from tinygrad.engine.jit import TinyJit from tinygrad.shape.symbolic import Variable from tinygrad.tensor import Tensor import numpy as np diff --git a/test/test_uops.py b/test/test_uops.py index 1f18a5ba27..5883cc206a 100644 --- a/test/test_uops.py +++ b/test/test_uops.py @@ -5,7 +5,7 @@ from tinygrad.tensor import Tensor from tinygrad.dtype import dtypes, DType, PtrDType from tinygrad.device import Buffer, Device, CompiledASTRunner from tinygrad.ops import UnaryOps, BinaryOps, TernaryOps -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule from tinygrad.codegen.linearizer import UOps, UOp from tinygrad.codegen.uops import exec_alu, UOpGraph from test.helpers import is_dtype_supported diff --git a/test/test_uops_stats.py b/test/test_uops_stats.py index 830f536ee3..6fce3c5ec4 100644 --- a/test/test_uops_stats.py +++ b/test/test_uops_stats.py @@ -1,6 +1,6 @@ import unittest from tinygrad import Tensor -from tinygrad.realize import create_schedule, lower_schedule_item +from tinygrad.engine.realize import create_schedule, lower_schedule_item # TODO: can copy this in here when we remove it #from tinygrad.ops import get_lazyop_info diff --git a/test/test_winograd.py b/test/test_winograd.py index 29e7ef8ef2..8d00a3967d 100644 --- a/test/test_winograd.py +++ b/test/test_winograd.py @@ -3,7 +3,7 @@ from tinygrad import Tensor, GlobalCounters from tinygrad.helpers import Timing, CI, Profiling, WINO, DEBUG from tinygrad.ops import LoadOps from tinygrad.codegen.linearizer import Linearizer -from tinygrad.realize import create_schedule +from tinygrad.engine.realize import create_schedule class TestWinograd(unittest.TestCase): def setUp(self): diff --git a/tinygrad/__init__.py b/tinygrad/__init__.py index 3ffb0a955c..3c96deba96 100644 --- a/tinygrad/__init__.py +++ b/tinygrad/__init__.py @@ -1,5 +1,5 @@ from tinygrad.tensor import Tensor # noqa: F401 -from tinygrad.features.jit import TinyJit # noqa: F401 +from tinygrad.engine.jit import TinyJit # noqa: F401 from tinygrad.shape.symbolic import Variable # noqa: F401 from tinygrad.dtype import dtypes # noqa: F401 from tinygrad.ops import GlobalCounters # noqa: F401 diff --git a/tinygrad/device.py b/tinygrad/device.py index 2bb0e0f324..96cf473d53 100644 --- a/tinygrad/device.py +++ b/tinygrad/device.py @@ -46,7 +46,7 @@ class JITRunner: self.mem_estimate:sint = 0 def exec(self, rawbufs:List[Buffer], var_vals:Optional[Dict[Variable, int]]=None) -> Optional[float]: var_vals = var_vals if var_vals is not None else {} - from tinygrad.features.jit import CacheCollector + from tinygrad.engine.jit import CacheCollector et = self(rawbufs, var_vals) if CACHECOLLECTING: CacheCollector.add(self, rawbufs, var_vals) return et diff --git a/tinygrad/features/jit.py b/tinygrad/engine/jit.py similarity index 100% rename from tinygrad/features/jit.py rename to tinygrad/engine/jit.py diff --git a/tinygrad/realize.py b/tinygrad/engine/realize.py similarity index 100% rename from tinygrad/realize.py rename to tinygrad/engine/realize.py diff --git a/tinygrad/runtime/graph/cuda.py b/tinygrad/runtime/graph/cuda.py index 3fab54513a..ae30f81c8f 100644 --- a/tinygrad/runtime/graph/cuda.py +++ b/tinygrad/runtime/graph/cuda.py @@ -5,7 +5,7 @@ from tinygrad.helpers import init_c_var, GraphException from tinygrad.device import CompiledASTRunner, update_stats, Buffer, MultiDeviceJITGraph, BufferXfer from tinygrad.runtime.ops_cuda import CUDADevice, check, encode_args, cu_time_execution from tinygrad.shape.symbolic import Variable -from tinygrad.features.jit import JitItem, get_input_replace, get_jit_stats, \ +from tinygrad.engine.jit import JitItem, get_input_replace, get_jit_stats, \ get_jc_idxs_with_updatable_launch_dims, get_jc_idxs_with_updatable_var_vals class CUDAGraph(MultiDeviceJITGraph): diff --git a/tinygrad/runtime/graph/hsa.py b/tinygrad/runtime/graph/hsa.py index 763b060505..73c087598a 100644 --- a/tinygrad/runtime/graph/hsa.py +++ b/tinygrad/runtime/graph/hsa.py @@ -4,7 +4,7 @@ from tinygrad.helpers import GraphException, init_c_var, round_up from tinygrad.device import Compiled, Buffer, BufferOptions, CompiledASTRunner, BufferXfer, MultiDeviceJITGraph, update_stats from tinygrad.shape.symbolic import Variable from tinygrad.runtime.ops_hsa import HSADevice, PROFILE, Profiler -from tinygrad.features.jit import JitItem, get_input_replace, get_jit_stats, \ +from tinygrad.engine.jit import JitItem, get_input_replace, get_jit_stats, \ get_jc_idxs_with_updatable_launch_dims, get_jc_idxs_with_updatable_var_vals import tinygrad.runtime.autogen.hsa as hsa from tinygrad.runtime.driver.hsa import check, AQLQueue, AQL_PACKET_SIZE, EMPTY_SIGNAL diff --git a/tinygrad/runtime/graph/metal.py b/tinygrad/runtime/graph/metal.py index de54924ff3..49ab94c407 100644 --- a/tinygrad/runtime/graph/metal.py +++ b/tinygrad/runtime/graph/metal.py @@ -3,7 +3,7 @@ import Metal from tinygrad.dtype import dtypes from tinygrad.helpers import dedup, unwrap2, GraphException from tinygrad.device import Buffer, CompiledASTRunner, update_stats -from tinygrad.features.jit import JitItem, get_input_replace, get_jit_stats, get_jc_idxs_with_updatable_launch_dims +from tinygrad.engine.jit import JitItem, get_input_replace, get_jit_stats, get_jc_idxs_with_updatable_launch_dims from tinygrad.shape.symbolic import Variable from tinygrad.runtime.ops_metal import MetalDevice, wait_check diff --git a/tinygrad/tensor.py b/tinygrad/tensor.py index 79c1644ce6..31959c68c2 100644 --- a/tinygrad/tensor.py +++ b/tinygrad/tensor.py @@ -14,7 +14,7 @@ from tinygrad.features.multi import MultiLazyBuffer from tinygrad.ops import LoadOps from tinygrad.device import Buffer, Device from tinygrad.shape.symbolic import sint -from tinygrad.realize import run_schedule, create_schedule +from tinygrad.engine.realize import run_schedule, create_schedule # **** start with two base classes, Tensor and Function ****