qazal
9145ad52ff
revert UOps eq, this needs to be isolated in realize.py ( #6063 )
...
This reverts commit dccca7f227
.
2024-08-13 18:02:34 +03:00
nimlgen
fa84e6ec48
init hcq args state ( #6046 )
...
* init hcq args state
* cleaner
* amd
* fillargs
* fixes
* myoy
* docs
* fix
* not needed
* spacing
2024-08-13 17:11:58 +03:00
qazal
9d2ea94fe9
temp: disable process replay on metal ( #6062 )
2024-08-13 16:31:55 +03:00
andredaprato
18192079a9
Apply transcendental rewrite rules only if required by backend ( #6061 )
...
* Apply transcendental folding for missing ops
* Remove comments
* Remove Final type
2024-08-12 22:38:45 -07:00
Tobias Fischer
6e3eb50fd1
added fix and reg tests ( #6060 )
2024-08-12 21:00:48 -04:00
chenyu
45bd667a78
rewrite pyint after first rewrite [run_process_replay] ( #6059 )
2024-08-12 19:18:13 -04:00
qazal
2ac80576e4
remove BufferOps from log_lazybuffer ( #6057 )
...
this is fine because lazy.py doesn't create BufferOps.
2024-08-13 02:06:47 +03:00
qazal
dccca7f227
test: uop and lazyop have the same compare ( #6053 )
...
* test: uop and lazyop have the same compare
* typings
* self.assert_equiv_uops -> assertEqual
* hash dtype
* test nop too
* TestPatternMatcher never used this compare anyway
* nop eq and ne tests
2024-08-13 00:33:19 +03:00
qazal
8c501272f3
proposal: MetaOps.EXT ( #6054 )
...
`MetaOps.CUSTOM, MetaOps.COPY, MetaOps.EMPTY, MetaOps.VIEW` don't fit into any of our existing UOps.
MetaOps.KERNEL and MetaOps.EXT can be the two paths in realize.py
after AST is UOp:
MetaOps.KERNEL -> UOps.SINK
MetaOps.EXT -> UOps.EXT
2024-08-13 00:29:29 +03:00
wozeparrot
059cf2a90d
feat: autogen from kernel register offset headers ( #6056 )
2024-08-12 14:08:35 -07:00
chenyu
3f2d24a6ec
test_failure_48 for wrong truncation in idx on NV ( #6055 )
...
also added `RAWAST` to print pre-modified AST in DEBUG=3
2024-08-12 16:17:42 -04:00
chenyu
6ed9711898
UOps pattern (x%c)+(x//c)*c = x ( #6051 )
...
pretty cool that this is very easy to write now
2024-08-12 14:58:48 -04:00
qazal
71c5901fc1
refactor ast arg and op [compare_schedule] ( #6052 )
2024-08-12 21:51:00 +03:00
wozeparrot
dc2617bffd
feat: use more correct reg for local dims ( #6048 )
2024-08-12 11:15:37 -07:00
qazal
529832d223
refactor ast creation [compare_schedule] ( #6050 )
...
* refactor scheduler lazyop creation [compare_schedule]
* helpful prints
* this will become the default
2024-08-12 21:15:11 +03:00
nimlgen
8f787785d9
fix openpilot benchmark ( #6049 )
2024-08-12 21:12:32 +03:00
ignaciosica
777d6b3349
Fix compile error for max with inline const ( #5840 )
2024-08-12 23:40:39 +08:00
nimlgen
e9024c691f
metal raise when command queue is not created ( #6044 )
...
* metal raise when command queue is not created
* dont do that
2024-08-12 18:30:37 +03:00
ignaciosica
164ca5632e
split tensor core tests ( #6041 )
2024-08-12 09:42:02 -04:00
chenyu
7ce716b3a0
bigint -> pyint [run_process_replay] ( #6040 )
...
it's a python int. priority should be higher than bool, but we are not using it in type promo now.
2024-08-12 09:12:23 -04:00
qazal
059dd35985
minor UOps.RANGE ordering cleanup [run_process_replay] ( #6039 )
...
* range srcs has an extra phi filter
* inline comments _tend_ to be harder to read
2024-08-12 15:33:26 +03:00
Timmy
a00994b423
Lowerer Multireduce Uopgraph ( #6007 )
...
* uopgraph changes
* fixing for non-reducing ranges
* multireduce tests
* linters
* linters
* removing comments
* removing arg[1]
* linters
* prettier
* linters
* more linters
* use any instead of intersection
2024-08-12 15:16:07 +03:00
qazal
bb653fa0a5
use dict for UOp parents ( #6036 )
2024-08-12 15:06:45 +03:00
qazal
7d1f118731
use assertIs in test_schedule ( #6035 )
...
* use self.assertIs in test_schedule
* test_lazybuffer
2024-08-11 19:19:18 +03:00
qazal
b918e3c255
cache assert_equiv_uops ( #6033 )
2024-08-11 12:17:05 +03:00
George Hotz
8d108f65a4
add cast to TC=2 ( #6032 )
2024-08-10 18:47:12 -07:00
George Hotz
14b613e281
add STEPS to beautiful_mnist
2024-08-10 15:23:44 -07:00
George Hotz
1b3443902c
don't use tgmath with clang ( #6029 )
...
* don't use tgmath with clang
* fix tests
* nostdlib for clang
* needs ffreestanding on OSX
2024-08-10 13:58:19 -07:00
gswangg
e05a1d6113
string -> fstring ( #6028 )
2024-08-10 13:28:31 -07:00
chenyu
5820940d98
more relax rtol for test_arange_fuse_grouped_children ( #6027 )
...
one more https://github.com/chenyuxyz/tinygrad/actions/runs/10334072657/job/28607120462
2024-08-10 16:10:03 -04:00
chenyu
d82370f6ef
docs: fix broken links and update is_floating_point ( #6023 )
...
* docs: fix broken links and update is_floating_point
broken links would only show as INFO and not an error.
* make doc andhors warn
2024-08-10 15:58:48 -04:00
gswangg
d58ae17771
Cleanup cstlye render_const [run_process_replay] ( #6024 )
...
* simplify render_const since CONST is always scalar
* assert dtype is scalar in render_const
2024-08-10 12:58:02 -07:00
chenyu
10374a2741
relax rtol for test_arange_fuse_grouped_children ( #6026 )
...
flaky https://github.com/tinygrad/tinygrad/actions/runs/10333939631/job/28606831006?pr=6023
2024-08-10 15:49:11 -04:00
George Hotz
cf7d3c1eb8
fix tests locally on metal ( #6025 )
...
* remove contiguous child, it was breaking tests locally
* hmm, it's still needed
* include NOOPT in method cache key
2024-08-10 12:36:22 -07:00
chenyu
e6c7c3e499
update pylint path to check indent/space for all ( #6022 )
...
also fixed many errors. it was not checking nested dirs. exclude autogen for now.
can we use ruff for this?
2024-08-10 14:41:09 -04:00
George Hotz
cfb04c67d1
run unit tests separate from others (and only once) ( #6020 )
...
* run unit tests separate from others
* ignore unit tests elsewhere
2024-08-10 11:17:56 -07:00
George Hotz
8302dd6ea4
remove noqa: E501 from transcendental
2024-08-10 10:30:05 -07:00
chenyu
350276e947
simpler device_from_env [run_process_replay] ( #6015 )
...
* simpler device_from_env [run_process_replay]
fixed type ignore too
* combine
2024-08-10 13:17:46 -04:00
uuuvn
ee3b015407
ELF loader strtab fix and tests ( #6011 )
...
* ELF loader strtab fix and tests
* ruff
* typos
* only one test
2024-08-10 10:13:16 -07:00
Jun Zhang
54e176fb4f
Ignore non-computational backends when overwriting the default ( #5770 )
2024-08-10 09:23:29 -07:00
qazal
3ef2788c4f
hotfix: run the entire test_conv_bw schedule ( #6014 )
2024-08-10 17:55:41 +03:00
qazal
0e62076cf5
more process replay cleanups ( #6013 )
...
* more process replay cleanups
* comma benchmark missing
2024-08-10 17:29:10 +03:00
qazal
266afad8ed
hotfix: skip schedule capture in benchmarks ( #6012 )
2024-08-10 17:13:53 +03:00
chenyu
63a8bc29d4
addition divisor in UOp div_folding ( #6002 )
...
in addition to try gcd of all terms, also try least common divisor of all MULs
2024-08-09 20:09:05 -04:00
chenyu
52a74e1d6f
recursive div_folding to simplify logic ( #6008 )
...
* recursive div_folding to simplify logic
* fix mypy
2024-08-09 19:23:06 -04:00
chenyu
a4ec4e890a
merge mul div pattern into div_folding ( #6006 )
2024-08-09 18:49:36 -04:00
chenyu
5961faa4be
minor change to UOp div_fold ( #6004 )
...
remove an unnecessary gcd and swap the quo rem order, minimize diff for divisor pr
2024-08-09 17:09:59 -04:00
qazal
7373b05ee8
assert conv bw reduceops merge [compare_schedule] ( #6001 )
...
* assert conv bw reduceops merge [compare_schedule]
* diff with ref_commit_hash
2024-08-09 19:29:56 +03:00
qazal
b67d521a07
assert test_conv_bw correctness ( #6000 )
...
* assert test_conv_bw correctness
* reorder half
* metal and clang still red
2024-08-09 18:30:36 +03:00
nimlgen
ce066fd754
nv do not recalc mv_address ( #5998 )
2024-08-09 17:16:34 +03:00