Commit Graph

10490 Commits

Author SHA1 Message Date
George Hotz
44c1fd5661 add optional llvm opt [pr] (#7619) 2024-11-10 13:26:49 +08:00
George Hotz
0a411b4f68 replace llvm with new llvm (#7616)
* replace llvm with new llvm

* fix test_linearizer

* minor fixups

* fix alloca

* don't use alloca

* fix DEFINE_ACC

* lines

* comments and lines

* a little tighter
2024-11-10 11:28:52 +08:00
qazal
b61266eb97 late fusion spec for big graph [pr] (#7613) 2024-11-09 23:43:11 +08:00
qazal
9d6b03d691 early assert swizzle in kernel [pr] (#7610)
* early assert swizzle in kernel [pr]

* better

* note changes

* TestIndexing 2
2024-11-09 21:54:43 +08:00
chenyu
8ca422e21a script to compare kernel opt with BEAM (#7604)
intersting that on m1 max hcopt wins BEAM 2 about 20% of the time
2024-11-08 17:40:28 -05:00
chenyu
573f145dcf METAL raise RuntimeError with no compiler and bad src (#7603)
fixed BEAM if src is invalid on METAL. it currently only accept RuntimeError in `_time_program`
2024-11-08 17:09:12 -05:00
chenyu
74b4d1c1e1 rewrite idx again in real_strides after uop_given_valid (#7600)
uop_given_valid does not guarantee output to be flat. fixed one last real_strides test.
2024-11-08 14:30:32 -05:00
chenyu
c6189e38c1 simplify_valid in real_strides (#7599)
improved one more real_strides. after finishing the last one will think about always applying these in to_indexed_uops
2024-11-08 10:45:22 -05:00
George Hotz
d8691a4f03 lil touchups (#7597) 2024-11-08 22:31:43 +08:00
Ahmed Harmouche
e35226e698 Remove Ops.ALU (#7595) 2024-11-08 19:52:14 +08:00
Harald Schäfer
e7cbc29f48 openpilot benchmark: add cast from numpy to benchmark (#7593)
* openpilot benchmark: add cast from numpy to benchmark

* whitespace

* comment
2024-11-08 19:31:00 +08:00
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