* simpler block reorder function [pr]
* simpler
* block_reorder in substitute, so wasteful otherwise
* extend and count
* leave push logic for same order
* sort new ctx
* less loop
* Revert "less loop"
This reverts commit 30249d097a.
* local reordering in block
* load (and parents) is highest priority
* minor loads in order
* comments
* explicit depth
* simpler
* matters less, but store early too
* minor uop cleaner [pr]
* free uop creation speed by removing WeakValueDictionary
* a lil faster
* disable that test
* lines
* and it doesn't print non hit patterns
* second try at block linearize
* weeee, works for lil matmul
* it's so beautiful
* test tiny passes
* fix bugs
* combine matching BLOCKENDS
* wrapping
* test lin failures passes
* those failures were fake
* flip sort order
* fix ptx tests
* deal with store better
* dumb ptx fix
* expect less
* reduce lines
* reduce lines
* less lines and cleaner
* no defaultdict
* tighter
* simpler block_parent_count
* update test for gated store
* put gated store rewrite to uopgraph, rm from ptx
* update test
update test
update test
* remove gated st rewrite in llvm
* lint
---------
Co-authored-by: Mesozoic Egg <[email protected]>
Co-authored-by: George Hotz <[email protected]>
* swizzle tc draft
* further cleanup
* hotfix: remove typing from fix_st and cleanup
* hotfix: revert cache property (moved into separate pr)
* hotfix
* hotfix: rename
* take patterns from schedule
* hotfix: rename vars
* hotfix
* no more view of store
* hotfix: linter
* as view is only used for tc fix up and tc is only enabled for LOAD, remove valid an preload from pm rule
- also remove inner simplify in fix_st
* add typing to fix_st
---------
Co-authored-by: qazal <[email protected]>
* add tiny test for randomness
* Tensor._device_seeds is a Tuple
* no tuple, just a 2 element tensor
* no more longs
* fix tests, and maybe ocelot works now
* NV still doesn't work. cleanup rules
* test + two more rules
* op arg alu [pr]
* more
* more passing
* fix more tests
* more tests passing
* fix single failing test
* so much cleaner
* noop to not have process replay trigger
* fix ptx
* add shl and shr to llvmir
* hotfix: enforce type alignment for shr and shl in all backends
* hotfix: change shl and shr spec
* hotfix: typo
* hotfix: refactor shl and shr rules and add casting to ptx shl
* hotfix: bug
* hotfix: ptx shl and shr require buint32
* hotfix: cleanups