Commit Graph
962 Commits
Author SHA1 Message Date
qazalandGitHub 3466a220de viz: disassembly viewer (#11393)
* test

* CPU=1 disasm works

* METAL=1 disasm works

* fix that

* work

* can unwrap

* work p2

* don't crash
2025-07-27 18:44:28 +03:00
nimlgenandGitHub 3b3de8df61 hcq: graphed copies (#11302)
* fast copies p2

* upd and fix

* graph supports

* fixes

* fixes

* fixes

* fix

* fix

* fix mockgpu

* fix alignment

* smaller in ci
2025-07-24 17:36:19 +03:00
nimlgenandGitHub 3046ead6e8 jit: graph reports ei support (#11356) 2025-07-24 16:35:10 +03:00
uuuvnandGitHub 178dbf3f66 Remote scheduler changes (#11177) 2025-07-21 09:29:44 -07:00
chenyuandGitHub 54924f9969 type remove Union and Optional [pr] (#11283)
use `|` for consistency
2025-07-19 14:05:52 -04:00
uuuvnandGitHub b2cc6cfa1b JIT_BATCH_SIZE is a ContextVar (#11228) 2025-07-14 14:03:45 +03:00
qazalandGitHub 3dfc0ff887 move cpu_profile and shared ProfileEvents from device.py to helpers [pr] (#11126)
* move cpu_profile and shared ProfileEvents to helpers [pr]

* TestProfiler.test_cpu_profile

* update test_viz.py

* TestProfiler.test_profile_multiops ordering, it's different streams now
2025-07-08 12:14:03 +03:00
qazalandGitHub 4fcfaa0ef7 viz: switch to TracingKey (#11100)
* viz: switch to TracingKey

* tuple

* order is name, keys, fmt

* add test_tracing_key
2025-07-05 17:46:18 +03:00
qazalandGitHub de4b9bf53b add opts_to_apply option to AST KernelInfo (#10950)
* proposal: add option to override opts in the get_program API

* update test_linearizer_rewrite

* state in uops

* update process_replay and names

* empty isn't none

* fix process replay
2025-06-24 18:55:39 +03:00
qazalandGitHub 9201224e0b viz: remove Kernel check [pr] (#10920)
* viz: remove Kernel check [pr]

* TestVizIntegration

* test/unit allows opening of devices

* kernel -> Kernel
2025-06-22 20:47:54 +03:00
George HotzandGitHub b09c47366f opt transforms the ast into an optimized ast (#10900)
* opt transforms the ast into an optimized ast

* fix get_kernel order and to_function_name

* function_name property

* update docs

* copy from kernel.py

* improve docs

* ci didn't trigger?
2025-06-22 09:41:26 -07:00
nimlgenandGitHub 0e7bd9fd03 factor out generic MemoryManager (#10910)
* allocator -> memory

* just moveout it

* mm is abstracted

* need entry abstraction

* fix

* mypy
2025-06-21 16:18:33 +03:00
George HotzandGitHub 7636d2cdc5 flip order of get_program args (#10905) 2025-06-20 17:23:23 -07:00
George HotzandGitHub b41e0563a3 move stuff to kernelize folder (#10902)
* move stuff to kernelize folder

* oops, forgot that
2025-06-20 16:10:20 -07:00
George HotzandGitHub 92678e59ee move kernel to opt (#10899) 2025-06-20 15:22:28 -07:00
qazalandGitHub 4f179b9ddb viz: gate launch behind a ContextVar [pr] (#10892) 2025-06-20 17:30:32 +03:00
qazalandGitHub 5839542fc8 viz: one name arg in track_rewrites [pr] (#10873)
* viz: one name arg in track_rewrites [pr]

* other test
2025-06-19 03:34:56 +03:00
George HotzandGitHub 18593c9800 one less rewrite on schedule [pr] (#10872)
* one less rewrite on schedule [pr]

* verify in ebs
2025-06-18 17:06:17 -07:00
qazalandGitHub 344a220b87 s/lb_refcount/uop_refcount [pr] (#10865) 2025-06-18 21:48:04 +03:00
George HotzandGitHub cba6e15937 split grouper and kernelize [pr] (#10854) 2025-06-17 17:54:20 -07:00
geohot b5ce227850 Revert "hotfix: remove setrecursionlimit"
This reverts commit acfc81642a.
2025-06-16 16:01:42 -07:00
geohot acfc81642a hotfix: remove setrecursionlimit 2025-06-16 15:31:34 -07:00
George HotzandGitHub e2907360b7 multi is one PM [pr] (#10838)
* multi is one PM [pr]

* disable flaky tests
2025-06-16 14:52:47 -07:00
George HotzandGitHub 5dc1bc6070 switch get_kernel -> get_program [pr] (#10817)
* switch get_kernel -> get_program [pr]

* fix tests
2025-06-15 12:26:50 -07:00
George HotzandGitHub a38947b4bb move symbolic and transcendental to uop [pr] (#10771) 2025-06-10 20:51:22 -07:00
George HotzandGitHub acf72872b3 move view left to the outer graph prereqs + testing (#10725)
* move view left to the outer graph

* global view right

* dont need that one

* remove comment

* test kernelize

* simple

* split onnx, test sdxl null

* fix testing

* ugh, wrong one

* Update test.yml
2025-06-09 20:43:25 -07:00
George HotzandGitHub 32e9949052 rename lazydata to uop (#10698) 2025-06-08 08:42:22 -07:00
George HotzandGitHub 48eb7d76b1 use ALLOW_DEVICE_USAGE context variable instead of MainProcess check (#10693)
* use DISALLOW_DEVICE_OPEN context variable instead of MainProcess check

* device usage can be disallowed
2025-06-08 00:07:40 -07:00
qazalandGitHub b515d796fb inline viz get_name [pr] (#10682)
* inline viz get_name [pr]

* changing name_fxn makes this simpler

* waitUntil dom
2025-06-07 11:16:16 +03:00
George HotzandGitHub 54db1f8ee8 prevent huge waste of multi ram (#10669)
* prevent huge waste of multi ram

* fix ram usage

* only define var

* add resolve

* fix tests

* fix cifar training

* remove that logic

* fix test without long
2025-06-06 17:17:21 -07:00
chenyuandGitHub bdede4924e fix odd number in get_test_global_size (#10671)
factor might not be a integer if input global_size has an odd number in it
2025-06-06 17:31:35 -04:00
George HotzandGitHub bf4ffc054c mstack replaces scheduler complexity (#10654)
* mstack replaces scheduler complexity

* leave that one

* contiguous

* work

* upd

* minimal failing test

* simpler

* attention is broken

* fix transformer

* failing tests

* real fix for llama

* kv cache test

* jit multi assign test

* better tests

* comment

* fix jit issue

* traverse after buf_uop
2025-06-06 11:31:41 -07:00
George HotzandGitHub 7f0f97aa76 new test_multitensor tests (#10667)
* new test_multitensor tests

* cleanup scheduler
2025-06-06 10:26:28 -07:00
qazalandGitHub 884b6cf288 remove gbarrier on const (#10656) 2025-06-06 02:36:52 +03:00
George HotzandGitHub 6619f17e26 force store to be contiguous (#10652) 2025-06-05 15:42:54 -07:00
George HotzandGitHub baba274a76 minimal mstack pr to fix allreduce (#10649)
* minimal mstack pr to fix allreduce

* fix webgpu
2025-06-05 15:14:53 -07:00
qazalandGitHub 28c4997236 check for matching shape order in fused reduce (#10641)
* failing test

* shapes match with ones removed
2025-06-05 19:37:22 +03:00
qazalandGitHub 1190062812 prevent grouper can_chase while fusing arange [pr] (#10623) 2025-06-05 18:50:21 +03:00
qazalandGitHub 8c5ea00522 push permutes through fused reduces (#10628)
* fix pushing reshapes through reduceops

* reduceop_view_right should assert on ndims mismatch

* update that, view.reshape asserts it
2025-06-05 16:14:04 +03:00
qazalandGitHub 8db0ba1161 simpler swizzle_reducop + comments [pr] (#10638) 2025-06-05 13:54:49 +03:00
chenyuandGitHub f6d7db25b7 simpler unbind_view [pr] (#10636) 2025-06-05 01:03:27 -04:00
qazalandGitHub ce9f12dc13 reorder cast before masking constants (#10609)
* failing test from fuzzer

* .numpy() handles bfloat16 better

* const->view->cast becomes const->cast->view

* update TestMovedConstFolding.test_cast_padded
2025-06-03 15:44:03 +03:00
qazalandGitHub b8fb2ba829 rename to finalize_gbarrier [pr] (#10596) 2025-06-02 12:55:31 +03:00
qazalandGitHub 00822603ec allow stacking of VIEW UOps [pr] (#10532)
* allow stacking of VIEW UOps [pr]

* merge_views is first

* simpler

* loc for pr, this needs a helper

* keep

* diff [pr]

* formatting
2025-06-01 23:27:04 +03:00
qazalandGitHub dc882d3d7d merge process replay and viz captures [pr] (#10581)
* refactoring

* test script

* work

* more work

* diff

* repr splits lines correctly

* that

* add location

* add location

* also don't need name_override

* k.copy

* [pr]

* name_override 2

* err
2025-06-01 12:30:10 +03:00
qazalandGitHub 6af4b02374 use plain dict and list in grouper [pr] (#10580) 2025-05-31 13:09:59 +03:00
qazalandGitHub e0305e54fc remove custom merge_views rewrite rule for buffer ops [pr] (#10574) 2025-05-30 15:27:13 +03:00
qazalandGitHub 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
qazalandGitHub 066196415f UOp.valid and const_like work with just shapes [pr] (#10569)
* UOp.valid and const_like work with just shapes [pr]

* pm_quant left

* pm_quant
2025-05-30 08:55:06 +03:00
George HotzandGitHub 5b268121d4 remove becomes map (#10533)
* remove becomes map

* add comment and delete dead code

* multi is a view
2025-05-27 11:47:11 -07:00