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
chenyu
b7397c1322
more typing cleanups [pr] ( #8376 )
...
List, Tuple, DefaultDict
2024-12-22 05:21:03 -05:00
chenyu
afcd70af97
remove untriggered/untested code [pr] ( #8375 )
...
ran with `coverage` on test. not sure about if we still want max_var_const so just commented it out
2024-12-22 04:07:53 -05:00
chenyu
8fdcb60461
remove unused View.t and lt [pr] ( #8374 )
2024-12-22 02:26:54 -05:00
chenyu
7ea633f94f
remove from __future__ import annotations from runtimes [pr] ( #8373 )
...
it's not needed if we move the Device before Program and Allocator, which need Device.
not updating hcq because it has a lot more stuff, and CLDevice requires CLDevice
2024-12-21 23:46:07 -05:00
chenyu
e934f987c6
minor cstyle cleanup [pr] ( #8371 )
...
* minor cstyle cleanup [pr]
* *
2024-12-21 22:17:45 -05:00
qazal
514a6740e4
Revert "CONST(VIEW(DEVICE)) ( #8365 )" ( #8372 )
...
This reverts commit 83284985f0 .
2024-12-22 04:44:34 +02:00
qazal
83284985f0
CONST(VIEW(DEVICE)) ( #8365 )
2024-12-22 04:18:35 +02:00
qazal
88bc51385c
scheduler: don't trade complexity for speed ( #8370 )
...
* scheduler: don't trade complexity for speed
* don't need is_scheduled
* make those tests real world
* graph_rewrite dedup
2024-12-22 03:30:51 +02:00
qazal
991b91d4d6
fix string repr of arg in viz and print [pr] ( #8369 )
2024-12-21 23:44:10 +02:00