Commit Graph

6729 Commits

Author SHA1 Message Date
Ahmed Harmouche
d4e91b0de7 num_batches_tracked long only if supported [pr] (#7582) 2024-11-08 19:28:21 +08:00
chenyu
a1dfd288bb different valid order (#7589)
in simplify_valid, we start with valids that are in others' parent so the others is more likely to be simplified
2024-11-07 20:27:56 -05:00
chenyu
dc7b0e2bb7 call VACUUM in diskcache_clear (#7588)
reclaims the db space after DROP TABLE
2024-11-07 16:55:48 -05:00
chenyu
4378b100ad make UOp.range arg a tuple [pr] (#7583)
* make UOp.range arg a tuple [pr]

so render works on output of ShapeTracker.to_indexed_uops

* fix
2024-11-07 11:58:09 -05:00
chenyu
bb7b5362be uop_given_valid in real_strides (#7231)
simplified idx allows deriving more strides
2024-11-07 09:41:16 -05:00
uuuvn
c846dd70b2 Increase test tolerance for probabilistic test (#7580) 2024-11-07 09:35:11 -05:00
George Hotz
205befa788 move is_dtype_supported to device [pr] (#7575) 2024-11-07 20:38:03 +08:00
qazal
1f5ea1e412 late fusion tests, early merge view GroupOp.Buffer [pr] (#7577)
* test_late_fusion_double_transpose

* early merge view buffer ops
2024-11-07 20:04:57 +08:00
qazal
f0fc34e594 swizzle tests from the delete_fuse branch [pr] (#7576)
* swizzle tests from the delete branch [pr]

* actually test torch

* atol
2024-11-07 18:29:06 +08:00
chenyu
a011562450 fix view add with symbolic shape (#7569)
the issue is that the symbolic shape is not greedily simplified and canonicalized before reshape
2024-11-06 11:39:20 -05:00
qazal
fbd7d16e9e create realizes later [pr] (#7571) 2024-11-07 00:24:07 +08:00
qazal
6a19ca81c9 failing test for View.__add__ RecursionError (#7567)
* failing test for View.__add__ RecursionError

* move to test_symbolic_shapetracker
2024-11-06 23:46:47 +08:00
chenyu
348d37df46 a few more unused type ignore [pr] (#7568) 2024-11-06 10:17:19 -05:00
qazal
37172b3f39 delete type: ignore that shouldn't exist [pr] (#7566) 2024-11-06 10:04:35 -05:00
qazal
a9a040398c don't print the entire schedule on assert [pr] (#7565)
* don't print the entire schedule on assert [pr]

* extra
2024-11-06 18:29:50 +08:00
Anthony DeMattos
953ef1b57e tinychat ui +/- 20 lines (#7471)
Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com>
2024-11-06 14:23:55 +08:00
chenyu
e7b18cf5c0 fix load_worlds filter_novariable (#7564)
filter based on "DEFINE_VAR" instead of "Variable". also added a unit test to make sure dataset includes image and variable kernels
2024-11-05 16:06:39 -05:00
chenyu
c805e3fff5 skip test_jit_batch_split if JIT >= 2 (#7561)
* skip test_jit_batch_split if JIT >= 2

only test graphs

* 1600
2024-11-05 14:59:04 -05:00
chenyu
f2fa183651 increase threshold test_strongly_connected_DAG (#7560)
it shoult test some other properties. flakying with time test https://github.com/chenyuxyz/tinygrad/actions/runs/11688403523/job/32548762512
2024-11-05 11:44:39 -05:00
Carl Basho
630a7f37cf update tests (#7554)
Co-authored-by: John Doe <null@mail.com>
Co-authored-by: chenyu <chenyu@fastmail.com>
2024-11-05 11:35:15 -05:00
chenyu
207bca6cea set PAGE_SIZE=1 and generate new dataset (#7559)
13080 rows in total. both generating and loading this are pretty broken now. filters are wrong for example
2024-11-05 11:25:01 -05:00
chenyu
7581a57aac show the actual dataset size in error message (#7557) 2024-11-05 09:16:30 -05:00
geohotstan
934fb73994 fix test_schedule conv2d bug (#7549)
* tests tests tests

* slap a resolve on it

* fix comment
2024-11-05 09:07:25 -05:00
chenyu
0db5f52b2a check datasets/sops.gz size to be > 5000 (#7555)
it has > 12000 rows now, but it depends on the backend that generates these so setting a lower but meaningful threshold
2024-11-05 09:03:19 -05:00
qazal
24f0a24f95 fix viz colors (#7552) 2024-11-05 20:05:49 +08:00
qazal
bd14e466f1 schedule.py minor cleanups [pr] (#7551)
* schedule.py cleanups [pr]

* view

* sink then preschedule [pr]

* end
2024-11-05 19:43:20 +08:00
qazal
773b036c61 share can_pad in ops [pr] (#7550) 2024-11-05 17:58:50 +08:00
qazal
f95404412e recurse schedule graph once [pr] (#7548) 2024-11-05 17:40:28 +08:00
qazal
a36680555d mark realized bufs out of fuse.py [pr] (#7547) 2024-11-05 15:49:03 +08:00
qazal
eab8020269 track assigns in context 2 [pr] (#7546) 2024-11-05 15:23:22 +08:00
qazal
ec38fbb123 realize views with rules (#7485)
* realize views with rules

* recreate the same logic

* delete

* delete some more

* simple_pads can go

* here we go again

* real cast things

* p2

* view real
2024-11-05 14:54:12 +08:00
George Hotz
d87adccb6c fast scalar (#7545)
* fast scalar set on dtype

* prevent loop

* lru_cache those
2024-11-05 14:08:08 +08:00
George Hotz
5682955c7b faster min_max [pr] (#7544) 2024-11-05 13:32:15 +08:00
George Hotz
d419364b66 faster dtype compare [pr] (#7542)
* faster dtype compare [pr]

* simpler reduce and bring name back

* preserve pr

* lines

* now pr will pass

* use fields in vec

* remove that assert
2024-11-05 13:09:48 +08:00
George Hotz
075bdb81b3 remove Ops.REDUCE (#7541) 2024-11-05 09:41:28 +08:00
George Hotz
ab14fc1f5b GroupOp.Irreducible [pr] (#7540) 2024-11-05 09:35:34 +08:00
chenyu
4669a25f88 faster uop_given_valid [pr] (#7538)
only try a valid as a replace target if valid is in sparents. if it's not in sparents the rewrite is no-op.

`PYTHONPATH=. TRACK_MATCH_STATS=2 python3 test/external/external_benchmark_schedule.py`

simplify_valid_load 90ms -> 50ms
2024-11-04 15:13:18 -05:00
George Hotz
d30537494a remove do_reduce [pr] (#7536) 2024-11-05 01:46:11 +08:00
George Hotz
cb57774b64 pre index load and store [pr] (#7535)
* pre index load and store [pr]

* check ptrtype
2024-11-05 01:21:14 +08:00
George Hotz
e34b89645a hotfix: fix sorting of match_stats 2024-11-05 01:06:20 +08:00
qazal
3163bbc48a proposal: forced_realize is Ops.CONTIGUOUS (same buffer) (#7533)
* forced_realize is Ops.CONTIGUOUS

* Revert "forced_realize is Ops.CONTIGUOUS"

This reverts commit d8bcd5d301.

* forced_realize is Ops.CONTIGUOUS (same buffer)

* fold contig is lazy
2024-11-05 00:58:43 +08:00
George Hotz
76cc59940d only match with op, not arg [pr] (#7534) 2024-11-05 00:43:17 +08:00
George Hotz
99bd4372a5 Ops.ALU is no more, the arg is just an op (#7525)
* op arg alu [pr]

* more

* more passing

* fix more tests

* more tests passing

* fix single failing test

* so much cleaner

* noop to not have process replay trigger

* fix ptx
2024-11-05 00:22:22 +08:00
Ahmed Harmouche
36488a2a43 Use is_dtype_supported in more places in tests (#7529) 2024-11-04 09:21:15 -05:00
qazal
1d4df72798 shorter schedule ops import [pr] (#7531) 2024-11-04 22:02:43 +08:00
qazal
b5718ae135 image dtype fusion tests [pr] (#7530)
* update test_lil_model

* add test_image_matmul
2024-11-04 22:00:16 +08:00
qazal
bf31585444 check assign buffers in group [pr] (#7527) 2024-11-04 20:27:22 +08:00
qazal
9fe596ce6e early assert assign [pr] (#7526)
* early assert assign [pr]

* self

* don't need base
2024-11-04 20:04:39 +08:00
George Hotz
e2204378d9 more GroupOp [pr] (#7524) 2024-11-04 18:40:06 +08:00
George Hotz
c1585bcc9e flatten ops (#7523)
* flatten ops

* fix mypy
2024-11-04 18:07:23 +08:00