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
George Hotz
603c03bef2
fix tests for rewrite [pr] ( #10167 )
...
* fix tests for rewrite [pr]
* cleaner
* delete linearize_uop
* clean up the rest
2025-05-05 19:19:49 -07:00
George Hotz
c3ff308abb
range has only one src now [pr] ( #10100 )
...
* range has only one op now
* fix z3 checker
* ci fix
* needs shell
* try pip ensure update
* that ensurepip is useless
* upgrade pip before cache
* windows happy?
2025-04-29 10:31:05 -04:00
quortus
5cdc96409e
Update outdated renderer.render calls ( #10044 )
2025-04-26 07:35:19 -04:00
Sieds Lykles
e75be6eafc
[bounty] [pr] index validation with z3 ( #9981 )
...
* index validation with z3
* Change comment
* toposort -> toposort()
---------
Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com >
2025-04-24 08:06:08 -04:00
George Hotz
2ed3acd767
toposort is a function [pr] ( #10004 )
2025-04-23 16:25:03 +01:00
George Hotz
aa98aff4cd
don't use ops name, just keep sink ( #9922 )
...
* don't use ops name, just keep sink
* fix test
* endif sink
2025-04-18 08:59:18 +01:00
George Hotz
3c5161b4cb
add validation of the bounds of Ops.INDEX ( #9503 )
...
* add validation of the bounds of Ops.INDEX
* do mask properly
* more validation
* correct
* fix gated
* add CAST support to vmin/vmax
* fix ptx and image
* ptx no diff
* upat.index also stays
---------
Co-authored-by: qazal <qazal.software@gmail.com >
2025-03-20 12:15:55 +08:00
George Hotz
2780e2027e
devectorize prereqs [pr] ( #9404 )
2025-03-11 12:33:29 +08:00
chenyu
2e7c2780a9
CLANG -> CPU ( #9189 )
2025-02-20 18:03:09 -05:00
George Hotz
df3b320f46
rewriter -> devectorizer [pr] ( #9147 )
2025-02-18 12:42:08 +08:00
George Hotz
bd694faf6c
factor out the expander logic [pr] ( #9131 )
2025-02-17 18:09:48 +08:00
quortus
2be4529f14
Test broken const folding wraparound behavior ( #9080 )
...
* Test broken const folding wraparound behavior
* Add repro for test_payne_hanek_reduction const folding bug
---------
Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com >
2025-02-17 17:44:56 +08:00
quortus
edf7213f34
Make bitcast to the same dtype noop ( #9121 )
2025-02-16 20:28:44 -05:00
Ali Ladjevardi
6e523e4d17
Remove size arg from DEFINE_LOCAL [pr] ( #8845 )
...
* remove size arg form DEFINE_LOCAL
* make mypy happy
* whitespace
* dont change code in extra
* revert to temp1 to pass pr
2025-02-02 19:47:32 +08:00
George Hotz
98d01a059d
rename uopgraph to rewriter [pr] ( #8682 )
2025-01-19 17:03:12 -08:00
uuuvn
048643e7f9
Skip test that counts Ops.LOAD on CLANG+AMX (upcasts up to float16) ( #8475 )
...
This test assumes that float4 is the max upcast and tests that 8 float
loads are upcasted to 2 float4 loads, however on CLANG+AMX upcasts
can be up to float16 and in this test we get one float8 load instead.
The @unittest.skipIf line is copied from test_linearizer.py where
a bunch of tests make similar assumptions about upcasts.
2025-01-02 17:17:49 -05:00
George Hotz
dbe549e462
rename expand to unroll [pr] ( #8218 )
2024-12-13 11:41:52 -08:00
chenyu
0c060fa040
update uop and tests to not use lt/gt/le/ge [pr] ( #8023 )
...
just use dunder methods, eventually remove those from ops
2024-12-03 21:02:52 -05:00
George Hotz
0c7477b108
no bool in range [pr] ( #7988 )
...
* no bool in range [pr]
* fix llvm
* add arg to range spec
* fix broken test
* forgot this one
* hotfix: test_tiny jit is a real test
2024-12-02 19:05:16 +08:00
George Hotz
275951b730
clean up a few parents -> toposort [pr] ( #7984 )
...
* clean up a few parents -> toposort [pr]
* rename to old_parents + sched tests
* a few more
* that one
* second to last
* final
2024-12-02 15:59:31 +08:00
George Hotz
f17af70d17
replace all sparents with toposort ( #7983 )
2024-12-02 15:00:30 +08:00
mesozoic-egg
90e2b2d577
Remove gated store, put rewrite to uopgraph [pr] ( #7975 )
...
* update test for gated store
* put gated store rewrite to uopgraph, rm from ptx
* update test
update test
update test
* remove gated st rewrite in llvm
* lint
---------
Co-authored-by: Mesozoic Egg <mesozoic.egg@proton.mail >
Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com >
2024-12-02 12:33:16 +08:00
ignaciosica
597a239e28
Remove UnaryOps, BinaryOps, TernaryOps, MetaOps [pr] ( #7725 )
...
* remove unaryops
* remove ternaryops
* remove metaops
* hotfix
* remove binaryops
* hotfix: test_pattern_matcher
---------
Co-authored-by: qazal <77887910+Qazalin@users.noreply.github.com >
2024-11-16 20:56:56 +08: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
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
George Hotz
bac251d2c1
idx_load_store in lowerer [pr] ( #7477 )
...
* idx_load_store in lowerer [pr]
* fix tests (#7513 )
Co-authored-by: John Doe <null@mail.com >
* work
---------
Co-authored-by: Carl Basho <76494676+oldpondplop@users.noreply.github.com >
Co-authored-by: John Doe <null@mail.com >
2024-11-04 10:18:40 +08:00
chenyu
7758f7211b
Revert "s/UPat/Pat ( #7506 )" [pr] ( #7517 )
...
* Revert "s/UPat/Pat (#7506 )"
This reverts commit 400011a8c1 .
* fix
2024-11-03 16:33:02 -05:00
chenyu
400011a8c1
s/UPat/Pat ( #7506 )
2024-11-03 08:26:19 -05:00
George Hotz
c8bf09b7d4
s/UOps/Ops ( #7500 )
...
* s/UOps/Ops [pr]
* fix
2024-11-03 11:26:10 +08:00
George Hotz
50ddd11350
lil cleanup matchers [pr] ( #7437 )
...
* move delete_redundant_gates [pr]
* simpler uops test
* addr in delete_redundant_gates
* lines
* correct early delete gates
* shorter find_gate
2024-10-31 17:52:22 +08:00
George Hotz
2e3048fc57
Revert "improve full_graph_rewrite matchers for speed ( #7431 )" ( #7434 )
...
This reverts commit 996152d2de .
2024-10-31 16:16:47 +08:00
George Hotz
996152d2de
improve full_graph_rewrite matchers for speed ( #7431 )
...
* remove finalize [pr]
* early transcendental
* fix tests
* load store indexing runs with devectorize
* move delete_redundant_gates
* ptx has to wait for the mask to move
2024-10-31 16:13:11 +08:00
George Hotz
17c9a9fde4
pm_render [pr] ( #7430 )
...
* pm_render [pr]
* test fixes
* use gep, not src
* ptx only symbolic, not sym
* move cast rules
2024-10-31 15:04:50 +08:00
George Hotz
7039fba406
move indexing first ( #7409 )
...
* move indexing first [pr]
* no create gate
* fix create_gate
* fix load/store folding
* fix index folding
* remove comment, no process replay
2024-10-31 00:50:35 +08:00
George Hotz
133fe81cc5
Revert "Revert "move up migrate + new gated fold ( #7403 )" ( #7406 )" ( #7407 )
...
* Revert "Revert "move up migrate + new gated fold (#7403 )" (#7406 )"
This reverts commit ea5654a9bc .
* test padded in emulation too
* bring back early folding
2024-10-30 23:25:45 +08:00
chenyu
ea5654a9bc
Revert "move up migrate + new gated fold ( #7403 )" ( #7406 )
...
This reverts commit adccfade7f .
2024-10-30 23:02:18 +08:00
George Hotz
adccfade7f
move up migrate + new gated fold ( #7403 )
...
* move up migrate + new gated fold [pr]
* vcount for const ptr
* move those rules there
* fix openpilot
2024-10-30 22:14:01 +08:00
George Hotz
2cfc7b6695
Index everywhere 2 ( #7363 )
...
* indexing everywhere [pr]
* fix tests
2024-10-29 19:29:40 +08:00
George Hotz
0af1212164
use assertEqual with new style uops [pr] ( #7360 )
2024-10-29 18:43:21 +08:00
George Hotz
aadf688aeb
order flipper as *normal* rewrite rule ( #7300 )
...
* instant isn't actually used [pr]
* order flipper as *normal* rewrite rule
* fix inf loop
* need simplify now
2024-10-25 21:28:30 +08:00
George Hotz
9a3d498d9c
with commutative hack, uops can change. fix that ( #7266 )
...
* with commutative hack, uops can change. fix that
* simpler
2024-10-24 18:50:23 +08:00
George Hotz
63048ad880
don't recreate COMMUTATIVE the other way ( #7255 )
...
* don't recreate COMMUTATIVE the other way
* add shl and add passing test
* fix tests and move assignment to __new__
* that can stay there
* happy mypy
2024-10-24 14:38:29 +08:00
George Hotz
ded1b38b84
minor dtype cleanup [pr] ( #7124 )
...
* minor dtype cleanup [pr]
* use ptr() function
2024-10-17 17:41:23 +08:00
George Hotz
3169cb386d
remove graph [pr] ( #7085 )
2024-10-16 11:40:07 +08:00
George Hotz
85a45164fb
remove pyint [pr] ( #7016 )
...
* remove pyint
* bump time on tp [pr]
* dont truncate in const fold
* remove dead code
* Revert "dont truncate in const fold"
This reverts commit 29c81db0f7 .
* remove define_var
2024-10-12 22:36:24 +08:00
George Hotz
e7a0ffe46a
break out linearization [pr] ( #6994 )
2024-10-11 15:27:33 +08:00
George Hotz
c08521e823
minor cleanups from toonygrad ( #6990 )
2024-10-11 14:19:10 +08:00
qazal
20d3c2d113
unify UOps.SHAPETRACKER and UOps.SWIZZLE with UOps.VIEW ( #6955 )
...
* add UOps.VIEW
* update hardcoded asts
* update sops.gz
2024-10-09 02:00:17 +08:00
qazal
4a4aa69b84
add a better dedup test for DEFINE_VAR with CONST arg ( #6813 )
2024-09-30 15:43:55 +08:00