Commit graph

36 commits

Author SHA1 Message Date
George Hotz
1e7f1dcf49
add ParamArgs [pr] (#16421)
* add ParamArgs

* fix export

* cleanups

* fixes

* simpler
2026-05-28 19:17:17 -07:00
chenyu
ef085304bc
stronger divmod_recombine (#16066) 2026-05-06 15:41:54 -04:00
chenyu
af4140f3be
fix divmod recombine for floordiv (#16062) 2026-05-06 14:22:42 -04:00
chenyu
aaabe42373
relax fold_divmod_general (#16058) 2026-05-05 21:37:56 -04:00
chenyu
869eae6b37
fix double div rewrites (#16054) 2026-05-05 19:34:35 -04:00
chenyu
34fe37d64e
use FLOORDIV and FLOORMOD (#16048)
* use FLOORDIV and FLOORMOD

also removed CORRECT_DIVMOD_FOLDING

* fix

* Revert "fix"

This reverts commit 86af33b88ef31943c61e67189b072eca4896409a.

* fix

* fix
2026-05-05 18:32:54 -04:00
George Hotz
0c3260d5d9
rename VECTORIZE to STACK (#15880) 2026-04-23 10:43:42 +08:00
chenyu
684e95e1d4
UOp binary op broadcasts dtype (#15875)
* UOp binary op broadcasts dtype

matches Tensor

* fix

* fix?
2026-04-22 20:37:19 -04:00
chenyu
b9e2bc619e
simplify bool.cast() != const (#15874) 2026-04-22 17:08:09 -04:00
chenyu
3c8daa9a75
update test_where_removal (#15872)
don't use UOp.ufix for const_like, it will broadcast dtype soon
2026-04-22 14:56:37 -04:00
chenyu
01b49c8647
support int operand for shifts (#15618)
matches torch/jax, also symbolic rule to remove mask
2026-04-06 12:32:12 -04:00
b1tg
20497f2840
fold BIND to CONST when min==max (#15568) 2026-04-01 11:19:04 -04:00
chenyu
c0753ab62f
XOR simplifcation rules (#15512)
x^-1 has good vmin/vmax, and x^y^y is x
2026-03-27 23:23:27 -04:00
chenyu
da1700e16b
dtypes.index -> dtypes.weakint (#15377) 2026-03-20 01:08:46 -04:00
chenyu
90b7f4341d
failed two level divmod recombine case (#15233) 2026-03-12 04:04:36 -04:00
chenyu
fce87f19a8
better fold_add_divmod_recombine (#15214) 2026-03-10 23:24:22 -04:00
chenyu
df8deec949
test for nest_by_factor selection (#15213) 2026-03-10 22:41:31 -04:00
chenyu
be6b0bce1f
variations of (x%c)+(x//c)*c (#15212)
put those into one function
2026-03-10 22:41:14 -04:00
chenyu
8389a8d7c5
remove_nested_mod can work with negative (#15205) 2026-03-10 03:10:08 -04:00
chenyu
68c7c3ca84
divmod test_gcd_with_remainder (#15204)
test cases for gcd_with_remainder
2026-03-09 23:51:47 -04:00
chenyu
60215deb60
tiebreak in fold_divmod_congruence (#15190)
need to try both direction
2026-03-09 03:40:39 -04:00
chenyu
a8d8351e5a
match IDIV and MOD in nest_by_factor (#15188) 2026-03-09 00:50:38 -04:00
chenyu
83b80da8f3
even more divmod recombine (#15163) 2026-03-08 23:52:26 -04:00
Roelof van Dijk
4ed8bb7445
tie break for divmod (#15169) 2026-03-06 08:05:38 -05:00
chenyu
da61088ca4
more divmod recombine (#15162) 2026-03-05 12:53:22 -05:00
chenyu
167a1d56a6
improve divmod folding (#15148)
canonicalize to div than mod which enables more simplifcation
2026-03-05 10:07:36 -05:00
George Hotz
72a9ed6e23
fix render depth bug + add warmup to serve + no realize default (#15144)
* fix render depth bug + add warmup to serve

* make realize not the default
2026-03-05 11:21:16 +08:00
chenyu
04da527a7a
minor div_and_mod_symbolic cleanups (#15138) 2026-03-04 19:05:44 -05:00
ttomsa
0366474089
Bool cast to cmpne (#14544)
* test

* rm in llvmir

* rm in ptx and nir

* hmmmm

* rm in decompositions

* skip tests

* add test

* just this

* rm comment

---------

Co-authored-by: chenyu <chenyu@fastmail.com>
2026-02-23 10:31:36 -05:00
George Hotz
6610255654
add the correct rule for gcd div/mod folding (#14905)
* add the correct rule for that folding

* more tests

* guard c1.arg
2026-02-20 18:11:54 +08:00
George Hotz
a28fc2fba7 hotfix: remove wrong symbolic rule 2026-02-20 17:09:18 +08:00
chenyu
7400362a86
remove UOp.vars [pr] (#14891) 2026-02-19 12:09:39 -05:00
George Hotz
f6c1cf343c
new symbolic rule from prealloc_bufs (#14883)
* new symbolic rule from prealloc_bufs

* optim
2026-02-19 20:57:30 +08:00
chenyu
8551fa50d3
support bitcast in sym_infer (#14708)
fixed `DEBUG=2 DEV=WEBGPU python -m pytest test/backend/test_tensor_variable.py::TestTensorVariable::test_symbolic_pad`
2026-02-12 10:21:05 -05:00
George Hotz
dd2de4f838
rename all DEFINE_GLOBAL to PARAM (#14511) 2026-02-03 15:09:38 +08:00
George Hotz
dc77b3318b
move files that pass with NULL=1 to test/null (#14508)
* move files that pass with NULL=1 to test/null

* fix windows

* cpu 0

* bugfix + durations
2026-02-03 13:52:36 +08:00
Renamed from test/unit/test_uop_symbolic.py (Browse further)