Commit Graph

10633 Commits

Author SHA1 Message Date
George Hotz
180916257d add children tracking to uop [pr] (#8448) 2024-12-30 10:58:20 -05:00
George Hotz
29c14f1cbf hotfix: update tests for no uop mut 2024-12-30 10:05:37 -05:00
qazal
96f2a83a62 has_st shouldn't exist anymore [pr] (#8446)
* has_st shouldn't exist anymore [pr]

* const also shouldn't be there
2024-12-30 18:52:18 +08:00
qazal
7499139239 scheduler renames from the buffer_shape branch [pr] (#8444)
* scheduler refactors and renames from the buffer_shape branch [pr]

* all unmasked sts are allowed here

* only renames
2024-12-30 16:33:38 +08:00
George Hotz
a3c359b28b merge all one op views [pr] (#8412)
* merge all one op views [pr]

* does this work?

* this won't work (yet)

* apply movement ops on top of the BUFFER

* buffer needs to become base next

---------

Co-authored-by: qazal <qazal.software@gmail.com>
Co-authored-by: qazal <77887910+Qazalin@users.noreply.github.com>
2024-12-30 05:06:49 +08:00
George Hotz
0d2400fc7c three assigns to lazydata [pr] (#8443)
* three assigns to lazydata [pr]

* one less

* Revert "one less"

This reverts commit a96268af34.

* that okay

* don't do that
2024-12-29 14:31:00 -05:00
George Hotz
b71c51191b tests from remove uop mutability [pr] (#8442)
* tests from remove uop mutability [pr]

* more test fix

* simpler test fix

* remove that
2024-12-29 12:14:10 -05:00
ignaciosica
b7511cc390 Ordered tc kernel opts (#8426)
* ordered tc kernel opts

* hotfix: clean up

* add post_init checks and introduce threads property

* fix amx thread counts

* rename upcast_size to thread_dims

* rename upcast_axes to elements_per_threads

* rename vars

* improve comment

* improve post_init assert comments

* add comment

---------

Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com>
Co-authored-by: chenyu <chenyu@fastmail.com>
2024-12-29 10:34:54 -05:00
qazal
34987a03af const copy folding spec + multi.py behavior [pr] (#8436)
* const copy folding spec + multi behavior [pr]

* copy from clang, move multi test
2024-12-29 23:12:13 +08:00
qazal
a44cd1e6f7 add collapse_view to the scheduler [pr] (#8440) 2024-12-29 21:30:29 +08:00
qazal
98b2854f14 refactor lower_schedule_item to pattern matchers [pr] (#8434) 2024-12-29 17:10:07 +08:00
chenyu
0fd6d7482b minor cleanups in state.py [pr] (#8438) 2024-12-28 20:13:25 -05:00
qazal
da2fa0b37f viz early serialize to json + don't viz rewrites on const [pr] (#8435) 2024-12-28 21:32:25 +08:00
qazal
90ce2c6029 UOp shape spec and requirements from TIP 4 (#8428)
* UOp ShapeTracker conceptual refactor [pr]

* add the UOp shape spec

* assign spec

* test a permuted assign

* lint + more work

* collapse assign after it swizzles the store [pr]

* more work, refine valid

* permute the other way

* shapetracker cleanup

* this assert should work now
2024-12-28 18:32:52 +08:00
chenyu
f69ad7506a simpler helpers.Context [pr] (#8433)
instead of having a class var for whole stack, store the old context in each Context.

also updated a test that ContextVar created in Context is not being cleared after the Context block
2024-12-27 17:27:14 -05:00
chenyu
ba59b0528f update TestContextVars for recreation [pr] (#8430)
raise RuntimeError instead of assert, and update all the skipped test cases
2024-12-27 13:34:23 -05:00
nimlgen
0a139b1436 amd iface abstraction (#8413)
* start on amd iface

* t

* unused import

* fixes

* internal api
2024-12-27 15:53:53 +03:00
Francis Lata
5755ac1f72 Fix FC layer ResNet load_from_pretrained error (#8387)
* validate that FC exists before loading pretrained weights

* add test case for ResNet pretrained model without FC layer

* remove extra newline

* rename test case

* reraise exception if not handled by check
2024-12-26 18:11:27 -05:00
nimlgen
90f1f0c9d5 eh (#8309)
Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com>
2024-12-26 13:16:34 -05:00
Calum
d8b08790b9 Fix examples/conversation.py (#8425)
* fix: conversation example

* remove slice func

* remove unused import

* use Tensor.split
2024-12-26 12:45:19 -05:00
qazal
b5820a5209 deletions from an ops.py "instant rule" audit [pr] (#8424)
* UOp.st cleanup 2 [pr]

* deletions from an ops.py instant rule audit [pr]

* note
2024-12-27 00:49:04 +08:00
qazal
22abd9dc03 symbolic_simple does this cast folding now [pr] (#8422) 2024-12-26 23:16:21 +08:00
qazal
9defbc7d54 add symbolic_simple to the scheduler [pr] (#8419) 2024-12-26 20:05:08 +08:00
Sieds Lykles
6bb54eb532 Add variations for some ADD patterns (#8393)
* Add variations for some ADD patterns

* Add test and remove redundant rule
2024-12-25 19:49:39 -05:00
nimlgen
a562ee2c6e BumpAllocator rename start -> base (#8415) 2024-12-25 23:12:55 +03:00
nimlgen
9ed064710a hcq remove old profiler lines (#8414) 2024-12-25 23:12:28 +03:00
chenyu
4712847766 make self_tokenize output more like a python file (#8411)
use comment for file name and join with newline instead of null byte when export to file
2024-12-25 14:16:30 -05:00
George Hotz
c1cd94baf6 precompute excluded nodes in VIZ [pr] (#8410) 2024-12-25 11:02:04 -08:00
George Hotz
8aa68e8d5c hotfix: render full int in int const in VIZ 2024-12-25 10:41:19 -08:00
nimlgen
393d39da58 do not cache subgraphs in toposort [pr] (#8403)
* is it correct?

* style

* set
2024-12-25 20:48:30 +03:00
qazal
313bdfa43f Add View lt support back [pr] (#8407)
* Revert "remove unused View.t and lt [pr] (#8374)"

This reverts commit 8fdcb60461.

* green test_masked_const_elementwise
2024-12-26 01:09:59 +08:00
qazal
4cbe5919d6 tensor uops symbolic folding spec [pr] (#8406) 2024-12-26 00:26:41 +08:00
qazal
6422936b62 fix pre-commit ruff error [pr] (#8405) 2024-12-26 00:12:57 +08:00
chenyu
3f46425f1e typos found by gemini [pr] (#8400)
not very effective... maybe due to tokenizer
2024-12-24 22:32:25 -05:00
chenyu
a35eef8d58 optionally output to file in self_tokenize.py (#8399)
can paste the whole tinygrad in gemini this way
2024-12-24 21:09:26 -05:00
chenyu
de3705168e update idiv doc and test cases (#8398)
test more cases when either numerator and denominator is negative and has remainder or not
2024-12-24 17:03:18 -05:00
nimlgen
a647f3dd2c move mockgpu to tests [pr] (#8396)
* move mockgpu to tests

* linter

* i'm so sorry

* sorry, python

* path
2024-12-24 23:48:02 +03:00
chenyu
2c93f27652 remove explicit np.array and np.int32 in test_div_int [pr] (#8395)
vals default loads as int32 now in test_ops
2024-12-24 13:09:30 -05:00
qazal
5c2fe04bb6 a few more UPat.var -> UPat.cvar in the scheduler [pr] (#8391)
* a few more UPat.var -> UPat.cvar in the scheduler [pr]

* keep it assert

* minimal diff
2024-12-24 20:36:24 +08:00
qazal
3273972f44 delete is_unrealized_const, it's just CONST [pr] (#8390) 2024-12-24 16:46:12 +08:00
qazal
3a556a7e8b fully local tensor const representation: CONST(VIEW(DEVICE)) [pr] (#8389) 2024-12-24 16:15:56 +08:00
George Hotz
b589dec06e remove some VIEWs we don't need [pr] (#8353)
* remove some VIEWs we don't need [pr]

* unmasked view and movement op on BUFFER are a part of the spec

---------

Co-authored-by: qazal <77887910+Qazalin@users.noreply.github.com>
Co-authored-by: qazal <qazal.software@gmail.com>
2024-12-24 14:57:42 +08:00
chenyu
0d6fe6200c test case view from an empty view (#8388)
currently it behaves differently depends on first view somehow
2024-12-23 17:40:49 -05:00
chenyu
c587b3b08c test case view the padded area of a view (#8386)
these cases view the padded area of first view
2024-12-23 16:47:31 -05:00
Francis Lata
239d2a7214 explicitly check value for not None (#8382) 2024-12-23 11:12:39 -05:00
geohotstan
78cb47dfc5 docs and tests clean ups (#8383) 2024-12-23 11:12:13 -05:00
chenyu
a556adf028 add test for Tensor silu and swish (#8381)
was only tested in onnx, added to test_ops for completeness
2024-12-22 21:08:59 -05:00
chenyu
572ebd9f27 unneeded TYPE_CHECKING in uopgraph.py [pr] (#8379)
can just import. 3 TYPE_CHECKING left. 2 are about python 3.12 and format str and those are fine. the last one is ops <-> device and shapetracker
2024-12-22 12:58:08 -05:00
qazal
8d4439282b swizzle assign [pr] (#8378) 2024-12-22 18:17:50 +02:00
qazal
e6f4c24619 try 2 on VIEW(BUFFER, <op>) scheduling + spec [pr] (#8377)
* second iteration on VIEW(BUFFER, <op>) scheduling + spec [pr]

* image

* notes
2024-12-22 16:30:35 +02:00