tinygrad/examples
Ahmed Harmouche 10618aba98
Bring back WebGPU (#7063)
* 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>
2024-11-26 12:26:40 +08:00
..
conversation_data Whisper + LLAMA + VITS (#2332) 2023-12-02 15:03:46 -08:00
llm.c Remove UnaryOps, BinaryOps, TernaryOps, MetaOps [pr] (#7725) 2024-11-16 20:56:56 +08:00
mlperf view doesn't have buffer, fix the tests [pr] (#7841) 2024-11-22 20:41:55 +08:00
openpilot add test for compile3 [pr] (#7783) 2024-11-19 19:26:51 +08:00
other_mnist beautiful_mnist in torch 2024-07-14 11:09:58 -07:00
rl more beautiful_cartpole with exposed hparams 2024-01-07 17:41:09 -08:00
sovits_helpers combine pad2d with pad (#7677) 2024-11-14 17:56:02 +08:00
tinychat make tinychat local (#7871) 2024-11-24 14:45:48 +08:00
vgg7_helpers move to new cached fetch (#2493) 2023-11-28 17:36:55 -08:00
webgl/yolov8 webgl backend in extra (#3041) 2024-01-08 09:29:13 -08:00
webgpu/stable_diffusion Bring back WebGPU (#7063) 2024-11-26 12:26:40 +08:00
__init__.py failing llama test 2023-03-11 16:28:10 -08:00
beautiful_cartpole.py tinytqdm.set_description and tinytrange (#5101) 2024-06-22 14:45:06 -04:00
beautiful_cifar.py Fix mypy examples/beautiful_*.py (#6978) 2024-10-10 11:34:29 -04:00
beautiful_mnist.py added beautiful fashion mnist and example (#6961) 2024-10-10 12:01:07 +08:00
beautiful_mnist_multigpu.py Fix mypy examples/beautiful_*.py (#6978) 2024-10-10 11:34:29 -04:00
coder.py apply the same fix_bf16 in llama and coder (#3789) 2024-03-17 21:25:24 -04:00
compile_efficientnet.py Bring back WebGPU (#7063) 2024-11-26 12:26:40 +08:00
compile_tensorflow.py fix various examples (#4691) 2024-05-22 20:43:21 -04:00
conversation.py fix conversation.py quantize (#4663) 2024-05-20 17:36:37 -04:00
efficientnet.py remove clang program header (#4422) 2024-05-04 08:38:01 -07:00
flux1.py flux set model path in args (#7660) 2024-11-12 22:11:40 -05:00
flux1_seed0.png Flux.1 (#6334) 2024-09-24 10:08:04 +08:00
gpt2.py really not using numpy in gpt2 example (#7779) 2024-11-18 23:21:16 -05:00
handcode_opt.py s/UOps/Ops (#7500) 2024-11-03 11:26:10 +08:00
hlb_cifar10.py combine pad2d with pad (#7677) 2024-11-14 17:56:02 +08:00
index.html Enable Multi-Output Export (#2179) 2023-10-30 18:42:26 -07:00
llama.py validate llama quantize output (#7901) 2024-11-25 16:46:23 -05:00
llama3.py make tinychat local (#7871) 2024-11-24 14:45:48 +08:00
mamba.py prev speed improvements (#5252) 2024-07-03 09:06:01 -07:00
mask_rcnn.py change Tensor.stack to method (#4719) 2024-05-24 17:04:19 -04:00
mixtral.py tinytqdm.set_description and tinytrange (#5101) 2024-06-22 14:45:06 -04:00
mnist_gan.py tinytqdm.set_description and tinytrange (#5101) 2024-06-22 14:45:06 -04:00
openelm.py nn.RMSNorm (#5272) 2024-07-02 21:39:01 -04:00
sdv2.py Stable Diffusion v2 Inference (#5283) 2024-07-03 22:47:10 -04:00
sdxl.py sdxl gen fix (#7459) 2024-11-01 13:57:01 -04:00
sdxl_seed0.png default threefry (#6116) 2024-09-25 17:45:13 +08:00
serious_mnist.py combine pad2d with pad (#7677) 2024-11-14 17:56:02 +08:00
simple_conv_bn.py fix various examples (#4691) 2024-05-22 20:43:21 -04:00
so_vits_svc.py combine pad2d with pad (#7677) 2024-11-14 17:56:02 +08:00
stable_diffusion.py fix wino conv output dtype for half inputs (#7829) 2024-11-21 12:13:54 -05:00
stable_diffusion_seed0.png default threefry (#6116) 2024-09-25 17:45:13 +08:00
stunning_mnist.py stunning_mnist [run_process_replay] (#6828) 2024-10-01 15:00:48 +08:00
train_efficientnet.py tinytqdm.set_description and tinytrange (#5101) 2024-06-22 14:45:06 -04:00
train_resnet.py move things, clean up extra (#2292) 2023-11-13 20:18:40 -08:00
transformer.py fix onehot and jit in examples/transformer (#3073) 2024-01-10 02:22:41 -05:00
vgg7.py waifu2x vgg7: testcase, auto-RGBA->RGB, function to grab pretrained models, training "fix" (#2117) 2023-10-19 22:07:15 -07:00
vit.py move to new cached fetch (#2493) 2023-11-28 17:36:55 -08:00
vits.py docs: showcase remove mnist_gan and add conversation.py (#4757) 2024-05-28 11:09:26 -04:00
whisper.py enable whisper batch for long sequences (#6458) 2024-09-17 00:42:10 -04:00
yolov3.py Update yolov3.py (#2680) 2023-12-08 12:59:38 -08:00
yolov8-onnx.py [ready] Replacing os with pathlib (#1708) 2023-08-30 10:41:08 -07:00
yolov8.py combine pad2d with pad (#7677) 2024-11-14 17:56:02 +08:00