George Hotz
b41e0563a3
move stuff to kernelize folder ( #10902 )
...
* move stuff to kernelize folder
* oops, forgot that
2025-06-20 16:10:20 -07:00
George Hotz
cba6e15937
split grouper and kernelize [pr] ( #10854 )
2025-06-17 17:54:20 -07:00
George Hotz
5dc1bc6070
switch get_kernel -> get_program [pr] ( #10817 )
...
* switch get_kernel -> get_program [pr]
* fix tests
2025-06-15 12:26:50 -07:00
qazal
5b59728c75
refactor LOAD(DEFINE_GLOBAL, VIEW) in kernels to LOAD(VIEW(DEFINE_GLOBAL)) ( #10541 )
...
* changes to core tinygrad
* fixups pt1
TC=3
docs/abstractions2.py
IMAGE=2
test_quantize_dsp
test_schedule
* more tests
* green now
* images stay images
2025-05-30 14:27:58 +03:00
George Hotz
147f7747f2
remove the map from create_schedule_with_vars [pr] ( #10472 )
2025-05-22 15:58:25 -07:00
George Hotz
0d39bb5de1
rename to get_kernelize_map ( #10465 )
2025-05-22 11:44:44 -07:00
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
qazal
e20ef7196a
Tensor.kernelize ( #9845 )
...
* add kernelize
* remove that
* kernelize returns self
* update abstractions2.py
* kernelize in test_schedule
* temp: assert BUFFER_VIEW's existence
* ASSIGN must have a buffer or subbuffer target
* assert and shrink
* fix
* padded setitem
* var
* toposort once
* extra
* base_buffer
* end with BUFFER_VIEW
* setitem for disk
* test_setitem_becomes_subbuffer
* mul slice test
* torch backend fix 1
* non-deterministic
* keep subbuffer
2025-04-20 20:53:49 +08:00
qazal
218e01833d
update scheduler section for abstractions2.py [pr] ( #9927 )
2025-04-19 12:09:14 +03:00
qazal
f2bd65ccfc
delete Ops.EMPTY and Tensor._metaop ( #9715 )
...
* delete Ops.EMPTY and Tensor._metaop [pr]
* test_creation
* arg=
* abstractions2
2025-04-03 12:29:02 +08:00
chenyu
2e7c2780a9
CLANG -> CPU ( #9189 )
2025-02-20 18:03:09 -05:00
qazal
c8d878a5c1
remove r.lazydata.buf_uop_view [pr] ( #8817 )
2025-01-30 23:14:36 +02:00
qazal
530961f7d5
realized only exists on base ( #8815 )
...
* realized only exists on base [pr]
* shorter
* update that too
2025-01-30 23:02:25 +02:00
George Hotz
168c16646a
change create_schedule_with_vars api to big_sink [pr] ( #8677 )
2025-01-19 13:30:26 -08:00
uuuvn
5ffc50d58c
Clang JIT ( #8481 )
...
Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com >
2025-01-03 11:12:55 -05:00
qazal
bd4d7dc4eb
return becomes_map from the scheduler ( #8483 )
...
* return becomes_map from the scheduler
* fix test_schedule
* fix abstractions2
* s/becomes/becomes_map
2025-01-03 22:47:21 +08:00
George Hotz
4c94726bac
remove uop mutability [pr] ( #8441 )
...
* remove uop mutability [pr]
* test fixups
* most tests pass
* more tests pass
* lil test fixups
* them too
* fix test
* unneeded
* err, that
* fix test_hcq
* fix test failures
* fix that test
* tensor universe
* does this pass test
* Revert "does this pass test"
This reverts commit ed516b3169 .
* Revert "tensor universe"
This reverts commit c21301852a .
* proper spidering for uops
* cleanups
* all tensors
* all tensors
* slow but correct
* fast
* no WeakSet
* faster
* no need for list
* revert that
2024-12-31 00:29:56 -05:00
George Hotz
803a47494e
Revert "Clang JIT ( #8312 )" ( #8452 )
...
This reverts commit b6266c8e41 .
2024-12-30 17:49:35 -05:00
uuuvn
b6266c8e41
Clang JIT ( #8312 )
...
Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com >
2024-12-30 17:37:53 -05:00
qazal
866dfa1f23
create_schedule([x.lazydata]) -> x.schedule() in tests ( #8449 )
2024-12-31 03:15:52 +08:00
qazal
d05e21cb69
replace lazy srcs with the new uop api [pr] ( #8255 )
...
* buf_uop_view function
* srcs shouldn't exist
* fix TestTensorMetadata
---------
Co-authored-by: George Hotz <geohot@gmail.com >
2024-12-15 17:09:54 +08:00
George Hotz
8a04a3a77a
rename LazyBuffer -> UOp [pr] ( #8169 )
...
* rename LazyBuffer -> UOp [pr]
* fix docs
2024-12-11 16:15:52 -08:00
George Hotz
d71fe7faa5
rename allocator methods to not conflict [pr] ( #7788 )
...
* rename allocator methods to not conflict [pr]
* forgot those
* transfer + offset
2024-11-20 00:10:29 +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
George Hotz
c8bf09b7d4
s/UOps/Ops ( #7500 )
...
* s/UOps/Ops [pr]
* fix
2024-11-03 11:26:10 +08:00
chenyu
96fcc47e27
touchup abstraction docs ( #7327 )
...
fix typing and use tinygrad tqdm
2024-10-27 22:29:55 -04: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
4df5c7a4ef
move lazy to engine [pr] ( #6886 )
...
* move lazy to engine [pr]
* engine.lazy
2024-10-04 23:19:26 +08:00
George Hotz
e015b41ce9
remove e( function just alu( [run_process_replay] ( #6589 )
...
* remove e( function just alu( [run_process_replay]
* missed two
2024-09-19 10:24:02 +08:00
George Hotz
bdd0c06f29
add void type to uop ( #6471 )
...
* unwrap_dtype maybe
* uopgraph stuff that hardcoded None
* test_ops passes
* dtypes.py fixups
* update test_linearizer and friends
* more ast updates
* test_beam and test_schedule too
* add void type to uop [run_process_replay]
* remove dumb casts
* start making it green
* more cast cleanups
* more cls methods to fix
* regenerate dataset
* split UOp and NOp const
* maybe that too
* fix docs
* update test_uop_symbolic
* test_verify_ast
* new sops with no diff
* meh, type_ignore is alright
* remove that assert
---------
Co-authored-by: qazal <qazal.software@gmail.com >
2024-09-11 18:16:28 +08:00
George Hotz
9bc81c6db4
UOps.SHAPETRACKER ( #6129 )
...
* UOps.SHAPETRACKER [run_process_replay]
* no process replay
2024-08-16 23:26:34 -07:00
George Hotz
89c7989659
no shapetracker in ops [run_process_replay] ( #6117 )
2024-08-16 17:23:27 -07:00
George Hotz
74ee9febec
remove iter from uopgraph ( #6110 )
...
* remove iter from uopgraph
* linearize returns uops
* fix tests
* linearize in linearize
* tests fix
* touchup
* test failures
2024-08-16 15:58:29 -07:00
qazal
28c75bf2a6
merge uops with ops ( #6111 )
...
Co-authored-by: chenyu <chenyu@fastmail.com >
2024-08-16 18:17:57 -04:00
qazal
c23d44c779
AST is UOp ( #6030 )
...
* most of the work from the uops2 branch
* schedule
* realize
* kernel
* lowerer
* search
* green
* merge uops with ops
* Revert "merge uops with ops"
This reverts commit 1408a59f12 .
* fix benchmark
* remove extra dedup
2024-08-16 22:09:00 +03:00
chenyu
3acd8559f4
doc: variable names in abstractions2.py ( #5591 )
2024-07-19 17:06:15 -04:00
kormann
c951bc99af
fix abstracions2 printout ( #5557 )
2024-07-18 21:21:45 +03:00
kormann
2c4add6844
pretty print lazy op per default ( #5505 )
...
* pretty lop
* min diff
* walrus
* fix
* min diff
* simplify
* pretty helper function
* ws
* pretty uop upat
* tests
* stricter tests
* test passes
* ws
* stronger upat test
* delete print_tree
* min diff
* stricter exp test
* fix merge
* stronger uops eval test
* +readable and deep upat test
* +readable and deep upat test
* sort inv fix
* fix
* revert allowed_len
2024-07-18 09:34:08 -07:00
George Hotz
fa7e734b49
MetaOps.KERNEL ( #5543 )
2024-07-17 19:41:23 -07:00
chenyu
28972418c4
s/get_linearizer/get_kernel [run_process_replay] ( #5467 )
2024-07-13 20:32:22 -04:00
chenyu
4df63da190
clean up rest of the loadop [run_process_replay] ( #5440 )
...
to metaop and filter_sink
2024-07-12 23:38:51 -04:00
George Hotz
6707c778d0
scheduleitem is not Tuple [run_process_replay] ( #5425 )
...
* scheduleitem is not Tuple [run_process_replay]
* fix tests
* fix op + fuzzers
* fix mop test
2024-07-12 15:13:19 -07:00
George Hotz
f6ef283e6a
s/loadops/metaops [run_process_replay] ( #5421 )
2024-07-12 13:26:50 -07:00
George Hotz
ff64bcab69
move graph/search to engine ( #4596 )
2024-05-14 23:12:59 -07:00
George Hotz
9425973bc7
docs cleanup and move ( #4593 )
...
* cleanup and move
* docs-legacy is gone
* don't update setup.py
2024-05-14 20:44:59 -07:00
George Hotz
8f749ae0eb
New docs are in mkdocs ( #4178 )
...
* start mkdocs
* simple docs for tensor
* more docs
* move those back
* more docs
* copy markdown extensions
* docs legacy
* docs building workflow
* fix showcase links
* only that?
* install tinygrad
* add docs to setup.py
* Delete examples/llm.c/data
2024-04-16 10:59:51 +04:00
George Hotz
1bf0a7a2d1
move assign logic into lazy.py ( #3984 )
...
* move assign logic into lazy.py
* don't check the buffer
2024-03-28 20:26:38 -07:00
George Hotz
9a6ac2a50a
create the buffer with the LazyBuffer ( #3977 )
...
* create the buffer with the LazyBuffer
* fixes
* hack underlying buffer when we change dtype
* we only care about allocated buffers
* asserts
2024-03-28 19:31:28 -07:00
George Hotz
42b9d999ea
Buffer isn't always allocated ( #3974 )
...
* buffer alloc
* allocate
* missing allocates
* last one
2024-03-28 13:33:47 -07:00
George Hotz
68ca4d4276
split to schedule.py ( #3949 )
...
* split to schedule.py
* split
2024-03-26 21:02:46 -07:00