* work
* basic stuff
* work
* also reset
* moving through time
* cleanup
* proper zoom
* add livereload.js
pip install livereload
livereload tinygrad/viz
* minor
* fixed width, remove viewbox
* bit of flexbox magic
* show pid/tid
* merge loops
* min-height
* redo some layout stuff
* create cell groups
* text is hard
* javascript Math.min causes "Maximum call stack size"
bert repro: VIZ=1 PYTHONPATH=. DEFAULT_FLOAT=HALF BS=66 GPUS=6 BERT_LAYERS=2 FUSE_ARANGE=1 MODEL=bert python3 examples/mlperf/model_train.py
* fix recursion issue
* no viz/server changes
* fix test_viz
* everything is a g
* text is easy
* no it's still hard
* livereload+notes
* height: 100% fixes the device bug
* start canvas work
* base canvas
* take chrome's stuff
* serve chrome's thing
* fetch traces from get_profile
* remove junk
* remove some more
* bring everything back again
* dispatch resize events
* base ticks
* hook d3.zoom
* zoom on the x axis
* bring filter back, makes ctrl+drag possible
* remove junk
* Revert "remove junk"
This reverts commit 4987e7bec1.
* draws something, the zooms aren't right
* move to canvas
* fix zooming
* Revert "Revert "remove junk""
This reverts commit 5aac2034fb.
* space key resets zoom
* Divide timelines by device on y axis
* Show kernel names when the width allows
* Clicking on kernel opens it in the kernel graph
* remove livereload.js
* reset diff
* base diff:
- fetch traceEvents
- displayGraph
- flexbox layout
- rest of canvas
* rescale in-place is faster, d3's rescaleX creates a copy
* less
* aesthetics
* map names
* first viz is profiler
* this will work when i make canvas once
* initial cleanups
* factor out of loop
* refactor + only show devices with events
* properly align program rects
* cleaner tick lines
* padding
* listen for resize
* simple zoom
* space more
* i always end up making zoom globl
* how is this ever allowed
* clicking works again
* back button goes back to the same zoom level
* work
* more work
* bring that back
* coloring work and simplify
* black
* keep perfetto button for comparison
* better
* ph===X
* simplify history stuff
* temp: handcoded
* test: flamegraph style leveling
* Revert "temp: handcoded"
This reverts commit bdcd538e88.
* disable flamegraph
* group by pid
* factor y and height out of render
* now flamegraph is easy
* livereload stuff
* remove that
* less
* Start from andredaprato:webgpu-clean
* Fix infs
* inf wgsl function is not needed
* Emulated ulong for threefry, more tests passing
* Randomness tests passing
* Update model export to support new changes in webgpu, efficientnet export works again
* Simplify shift emulation in wgsl
* Delete test file
* Fix bigger than u32 u32 literal
* Why was skip copies added here?
* Python3.12 for webgpu tests
* Fix model export syntax error
* Get test ops passing with some skips
* Fix lint
* Much simpler shift
* Run more tests
* Timestamp queries are not supported in CI, so skip search tests
* All fancy indexing passing
* r is ctx
* Run more dtype tests by using is_dtype_supported
* Cleanup ulong shift rendering
* UPat -> Pat, UOps -> Ops
* Pat -> UPat
* Refactor render_ushift if-else
* Pattern to avoid ulong mul
* Remove vals_dtype
* is_nan trick + rewrite, test_isnan passing
* Rewrite a * select(1, nan, gate) -> select(a, nan, gate)
* No arg, just op
* Support char, uchar, short, ushort
* Run test_index_mnis now that we have uint8
* Fix pyling
* Save 3 lines by using base Compiler
* No more long emulation
* Remove fixup_binops
* No more external_local_bufx wgsl specific cstyle modif, use base extra_pm
* Simpler, faster copyin/out
* Skip some new tests that use long
* Fix typo
* copyout touchup
* Save lines by using render_cast
* WebGL is not supported in core, delete it from is_dtype_supported
* More narrow test skips for some unary tests
* TernaryOps, UnaryOps -> Ops
* TinyGrad supports WebGPU
* StableDiffusion demo: f16tof32 gpu is a lib, update UI
* Packed load/store, no more scale_size, no core tinygrad changes
* Rename copyin, copyout
* Device -> dev
* Fix lint
* Pattern matcher rule for packed load/store
* Refactor
* Shorter packed load/store
* this should fix lint
* Fix mypy
* SD compile script working
* New SD webgpu UI
* New default prompt
* New SD weights
* Fix title when webgpu not available
* Run symbolic tests, simplify is_nan, use round_up
* Show step time on UI
* Bump minimum wgpu version to v0.19
* Fix latent
---------
Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com>