George Hotz
8743ca40e2
force reduce to be in axis order ( #10837 )
...
* force reduce to be in axis order
* disable rule causing loop
* disable that rule
* no ra there
* only move non reduce
* fix tests
2025-06-24 13:00:16 -07:00
qazal
ac39f27ae6
viz: non blocking UOp tracing ( #10913 )
...
* viz: non blocking UOp tracing
* u.arg
* no if Ops.KENREL
* drop replace
* switch to weakref.WeakKeyDictionary
* back
* remove ram usage skips, viz works here
* cache on reconstruct
2025-06-23 19:59:28 +03:00
George Hotz
b41e0563a3
move stuff to kernelize folder ( #10902 )
...
* move stuff to kernelize folder
* oops, forgot that
2025-06-20 16:10:20 -07:00
qazal
5839542fc8
viz: one name arg in track_rewrites [pr] ( #10873 )
...
* viz: one name arg in track_rewrites [pr]
* other test
2025-06-19 03:34:56 +03:00
qazal
96509daaba
enable copy folding tests [pr] ( #10862 )
2025-06-18 13:05:35 +03:00
qazal
84d568d0cc
do not import grouper internals in test_schedule [pr] ( #10861 )
...
* fix import
* fix test_multitoutput_ast
* fix test_recursive_swizzle
* test_alu_after_copy
* remove that test
2025-06-18 12:47:57 +03:00
qazal
8b879b0314
merge TestTensorUOpSpec with the other spec unittests [pr] ( #10860 )
...
* merge TestTensorUOpSpec with the other spec unittests [pr]
* rename to test_uop_spec
2025-06-18 12:12:08 +03:00
George Hotz
cba6e15937
split grouper and kernelize [pr] ( #10854 )
2025-06-17 17:54:20 -07:00
George Hotz
a38947b4bb
move symbolic and transcendental to uop [pr] ( #10771 )
2025-06-10 20:51:22 -07:00
George Hotz
81ef879da3
non recursive top_down_rewrite ( #10729 )
...
* non recursive top_down_rewrite
* nicer algorithm
* rewrite bottom up also
* only top down is broken?
* simpler iterative algo
* no recursion errors
* top down and bottom up
* unified rewrite
* simpler rewrite
* clean up comments
* move that comment
2025-06-09 16:33:04 -07:00
George Hotz
81b9c04574
move high level stuff to unit tests [pr] ( #10708 )
...
* move high level stuff to unit tests [pr]
* process replay on unit tests
* fix pr, less compute
* set omp num threads
* set 200MB buffer size limit
* delete junk
* fix tests
* faster
* move test_indexing to unit
* faster
2025-06-08 14:05:56 -07:00
George Hotz
4e2c3560b4
smaller tests are faster tests [pr] ( #10704 )
...
* remove del spam from CI
* more
* preconstruct default buffer spec
* ignore those errors
* check exception
* more exception check
* skip stuff
* smaller tests mean faster tests
* a few more
2025-06-08 10:54:19 -07:00
George Hotz
32e9949052
rename lazydata to uop ( #10698 )
2025-06-08 08:42:22 -07:00
wozeparrot
0d86f8d375
fix failed threefry ( #10646 )
2025-06-05 17:17:42 -07:00
qazal
26afbc954f
delete redundant tests from test_schedule [pr] ( #10643 )
2025-06-05 20:08:39 +03:00
qazal
28c4997236
check for matching shape order in fused reduce ( #10641 )
...
* failing test
* shapes match with ones removed
2025-06-05 19:37:22 +03:00
qazal
1190062812
prevent grouper can_chase while fusing arange [pr] ( #10623 )
2025-06-05 18:50:21 +03:00
qazal
8c5ea00522
push permutes through fused reduces ( #10628 )
...
* fix pushing reshapes through reduceops
* reduceop_view_right should assert on ndims mismatch
* update that, view.reshape asserts it
2025-06-05 16:14:04 +03:00
qazal
571c0296a9
linearizer failure from FUSE_ARANGE default diff ( #10629 )
...
* start with test_arange_sum
* test_arange_avgpool2d
* device.renderer.supports_float4
2025-06-04 19:11:52 +03:00
qazal
5056d21b29
add failing TestSchedule.test_arange_sum [pr] ( #10627 )
2025-06-04 17:23:59 +03:00
qazal
ce9f12dc13
reorder cast before masking constants ( #10609 )
...
* failing test from fuzzer
* .numpy() handles bfloat16 better
* const->view->cast becomes const->cast->view
* update TestMovedConstFolding.test_cast_padded
2025-06-03 15:44:03 +03:00
qazal
5b59728c75
refactor LOAD(DEFINE_GLOBAL, VIEW) in kernels to LOAD(VIEW(DEFINE_GLOBAL)) ( #10541 )
...
* changes to core tinygrad
* fixups pt1
TC=3
docs/abstractions2.py
IMAGE=2
test_quantize_dsp
test_schedule
* more tests
* green now
* images stay images
2025-05-30 14:27:58 +03:00
qazal
d1f0043331
use store_val helper in test_schedule asserts [pr] ( #10540 )
2025-05-27 21:48:06 +03:00
qazal
9169dcfb49
do not create kernels with more inputs than the backend allows ( #10510 )
...
* work
* no itertools + top down pass
* clean viz
* python can do that
* webgpu
* gbarrier of gbarrier is gbarrier
* device can be tuple
* bug in toposort
* failing test for gated toposort
* contiguous of gbarrier is gbarrier
* check for binops
* Revert "check for binops"
This reverts commit 53e3cdf720 .
* viz + match on gbarrier, self exists by default
* alt
* green now
* cleanup
2025-05-26 18:02:03 +03:00
qazal
a9d0bf5c4c
proper error for device mismatch ( #10500 )
...
* failing test
* use bufs
* buf_uop
* not on cpu
2025-05-24 12:17:41 +03:00
George Hotz
b58f2d4544
fix tests ( #10493 )
2025-05-23 18:38:07 -07:00
qazal
7a762f01ab
s/shape_spec/ast_spec [pr] ( #10485 )
2025-05-23 15:43:54 +03:00
qazal
127a7c8aee
assert AST views only exist in the edges ( #10484 )
...
* assert AST views only exist in the edges
* valid without device
2025-05-23 15:27:09 +03:00
qazal
e491168685
add metadata note + whitespace fixup [pr] ( #10483 )
...
* add metadata note + whitespace fixup [pr]
* TestSchedule.test_kernelize_diamond
2025-05-23 14:37:45 +03:00
George Hotz
147f7747f2
remove the map from create_schedule_with_vars [pr] ( #10472 )
2025-05-22 15:58:25 -07:00
George Hotz
0d39bb5de1
rename to get_kernelize_map ( #10465 )
2025-05-22 11:44:44 -07:00
chenyu
7bfb20757c
fix tensor int floor div ( #10327 )
...
* fix tensor int floor div
* test_float_floordiv_scalar
2025-05-21 06:46:54 -04:00
George Hotz
411392dfb7
move files into uop dir ( #10399 )
...
* move files into uop dir [pr]
* tinygrad.uop is a thing
* fix uop docs, no pr
* fix viz
2025-05-18 11:38:28 -07:00
qazal
04b23087d8
grouper tests from fuse_arange_default [pr] ( #10394 )
2025-05-18 18:42:43 +03:00
qazal
0294bfe507
simpler can_pad ( #10364 )
...
* simpler can_pad [pr]
* 3 kernels
* tests
* less kernels
2025-05-18 10:00:07 +03:00
qazal
e054b53a75
kernel count tests for pad [pr] ( #10369 )
...
* kernel count tests for pads
* handcoded rand one kernel
* comment
* prerealize device rng counter
* test_rand_handcoded generates /0
* remove track_rewrites
2025-05-17 17:20:46 +03:00
qazal
0a45cd0cbe
grouper: merge views in fuse elementwise ( #10325 )
...
* grouper: merge views in fuse elementwise
* with gradient api
2025-05-15 13:17:09 +03:00
qazal
89d8d5b25e
add dims check in FUSE_ARANGE ( #10323 )
2025-05-15 11:33:21 +03:00
qazal
8fad0f0124
grouper: check for unsafe PAD in FUSE ( #10322 )
2025-05-15 10:53:44 +03:00
qazal
d342f7688d
remove some skips in test_schedule + use assertRaisesRegex [pr] ( #10296 )
2025-05-14 14:54:07 +03:00
qazal
a2d6b0afe0
fix FUSE pushing through SHRINK ( #10271 )
2025-05-13 11:38:53 +03:00
qazal
b6904bbf83
Revert "split grouper into insert and finalize stages [pr] ( #10222 )" ( #10224 )
...
This reverts commit 2594e4db15 .
2025-05-09 03:02:38 +03:00
qazal
2594e4db15
split grouper into insert and finalize stages [pr] ( #10222 )
2025-05-09 02:36:22 +03:00
qazal
1d0f239df7
use Tensor.train() in schedule test + typo [pr] ( #10220 )
2025-05-08 23:46:42 +03:00
George Hotz
8d4c563c01
all COPY can be clone ( #10205 )
...
* match old behavior
* simple
* it means the naive thing before the multi
* fix
2025-05-07 20:31:39 -07:00
qazal
94e07725a6
only reorder expand if it can fuse with input ( #10186 )
...
* failing test
* only reorder expand if it can fuse with input
* (16,) is reshaped to (4, 4)
2025-05-07 18:14:31 +08:00
qazal
62e86bc5ec
insert Ops.FUSE for arange ( #10140 )
...
* insert Ops.FUSE for arange
* reshape does not collapse
* do not fuse reshapes
* add children
* fixups
* work
* add Ops.WHERE support to z3
* fix fuse for cast
* diff
* ugh
* don't need this anymore
* contiguous
* add always_contiguous
* there too
2025-05-05 08:32:12 +03:00
George Hotz
36ccaa88a6
move merge views [pr] ( #10156 )
...
* move merge views [pr]
* move flow to __init__ [pr]
2025-05-04 14:41:47 -07:00
George Hotz
2ed3acd767
toposort is a function [pr] ( #10004 )
2025-04-23 16:25:03 +01:00
qazal
f4ec57baff
new schedule linearizer enqueues KERNEL UOps [pr] ( #9993 )
...
* new schedule linearizer enqueues kernels [pr]
* no defaultdict
* diff
* minor
2025-04-23 05:17:58 +08:00