Ignacio Sica and GitHub
0f6109ec00
hotfix bug in get_kernel_actions after TC_SEARCH_OVER_SHAPE was introduced ( #8904 )
...
* hotfix search bug
* copy actions
2025-02-05 13:10:05 -05:00
Ignacio Sica and GitHub
15f94ac964
TC_SEARCH_OVER_SHAPE to search multiple TC shapes ( #8793 )
...
* squash search over search
* refactor assert
* init benchmark
* cleaner get_kernel_actions
* cleaner get_kernel_actions
* add comment
2025-02-05 11:03:46 -05:00
qazal and GitHub
e7edadda54
construct the sched_sink with graph_rewrite [pr] ( #8903 )
...
* construct the sched_sink with graph_rewrite
* diff
* move break_sched
2025-02-05 15:16:48 +01:00
qazal and GitHub
ef7ad3f077
simpler subbuffer construction + copyin is always base ( #8900 )
...
* realize copy
* cleanup buffer_view
* smaller
2025-02-05 09:10:20 +01:00
qazal and GitHub
6f0cc2e9c5
rename to KernelContext and move the linearize_sched comment [pr] ( #8899 )
...
* rename to KernelContext and move that comment [pr]
* 500
2025-02-05 07:49:58 +01:00
geohotstan and GitHub
6fb0e5751b
hotfix test_onnx_imagenet ( #8897 )
...
* start
* log severity
* only change this
* change abstraction so it's more usable for huggingface
* WHOOPS
* actually this is more correct
2025-02-05 14:39:55 +08:00
George Hotz and GitHub
c1c5227acb
preserve size in dtype ptr [pr] ( #8898 )
2025-02-05 14:38:57 +08:00
geohot
5844883e59
bump master version
v0.10.1
2025-02-05 09:08:28 +08:00
uuuvn and GitHub
a51c688f39
Cleanup llvm cleanup (and some clang things too) ( #8871 )
...
* Cleanup llvm cleanup (and some clang things too)
* Tests
* Tests 2
* forgot mockgpu
* more print some sources
2025-02-05 07:49:05 +08:00
eliotgolding and GitHub
bb5ded85cc
Don't rewrite idiv to rshift when numerator is negative ( #8885 )
...
* more conditions for shift rewrite mul/idiv
* make ptx test uint so the new condition is true
* delete idiv test
* rewrite to 0 is wrong for idiv, as denominator is cast to 0 before division
* mul/div by 2**(large count) is unsupported anyway
2025-02-05 07:47:33 +08:00
666b6149bc
Use full soname for libgcc_s in CPUProgram ( #8642 ) ( #8896 )
...
Number after .so is abi version, it is always 1 for libgcc_s.
Most linux systems set default library versions via symlinks that are
simply followed to get actual elf, however conda does it via linker
scripts which ctypes doesn't follow (below contents of libgcc_s.so):
```
/* GNU ld script
Use the shared library, but some functions are only in
the static library. */
GROUP ( libgcc_s.so.1 -lgcc )
```
ctypes.util.find_library thinks that this is the actual elf and
ctypes.CDLL just loads this text file as a shared library. The result
is:
```
File "/home/me/src/tinygrad/tinygrad/device.py", line 223, in CPUProgram
helper_handle = ctypes.CDLL(ctypes.util.find_library('System' if OSX else 'gcc_s'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/me/miniforge3/envs/tinygrad/lib/python3.12/ctypes/__init__.py", line 379, in __init__
self._handle = _dlopen(self._name, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /home/me/miniforge3/envs/tinygrad/lib/libgcc_s.so: invalid ELF header
```
Co-authored-by: uuuvn <[email protected] >
2025-02-05 07:45:48 +08:00
chenyu and GitHub
48349efdc1
copy is already contiguous ( #8886 )
2025-02-04 17:53:33 -05:00
nimlgen and GitHub
4c28235bd1
am: remove hardcodes ( #8895 )
...
* am: remove hardcodes for 7900
* h
2025-02-05 00:52:53 +03:00
057c70b05f
add onnx_helpers to extra and add ort validate to benchmark_onnx ( #8890 )
...
* start
* log severity
* only change this
* change abstraction so it's more usable for huggingface
---------
Co-authored-by: chenyu <[email protected] >
2025-02-04 16:36:01 -05:00
chenyu and GitHub
89eebd4bfb
pow cleanups ( #8894 )
...
more readable
2025-02-04 15:52:57 -05:00
qazal and GitHub
7a9e3247c2
simple start to the Kernel UOp [pr] ( #8893 )
...
* simple start to a kernel [pr]
* add the sched_sink and spec
* rename kernels to sinks
* pylint complains
2025-02-04 21:48:15 +01:00
qazal and GitHub
b4e8878e01
remove tensor_uops tracking from ScheduleContext [pr] ( #8892 )
...
* remove tensor_uops tracking from ScheduleContext [pr]
* cleaner
2025-02-04 20:34:15 +01:00
qazal and GitHub
6a0da51ed0
truncate process replay logs [pr] ( #8891 )
...
* truncate process replay logs [pr]
* work
* max_lines
* bump to 1K
2025-02-04 20:26:48 +01:00
qazal and GitHub
c7c279a6bd
unbind ShapeTrackers without maintaining a cache [pr] ( #8889 )
...
* replace with a try [pr]
* check vars
* ahaa
2025-02-04 19:43:41 +01:00
chenyu and GitHub
61de654efa
minor shard cleanup [pr] ( #8888 )
2025-02-04 13:22:31 -05:00
qazal and GitHub
6ec7f1b00f
replace UPat(name="x") with UPat.var("x") [pr] ( #8887 )
...
* replace UPat(name="x") with UPat.var("x") [pr]
* a few more
2025-02-04 19:12:40 +01:00
qazal and GitHub
c26b06eaeb
delete fold_img_cast [pr] ( #8875 )
2025-02-04 18:43:45 +01:00
qazal and GitHub
acf0baefee
process replay from tensor uops to kernel ast ( #8883 )
...
* process replay from tensor uops to kernel ast
* this dedups
* switch back to string key
2025-02-04 18:09:20 +01:00
dcf104ee68
ptx wmma render refactor ( #8873 )
...
Co-authored-by: chenyu <[email protected] >
2025-02-04 11:01:23 -05:00
qazal and GitHub
b92f36179d
don't use set in schedule + add GroupOp.All [pr] ( #8882 )
...
* don't use set in schedule + add GroupOp.All [pr]
* update that
2025-02-04 08:19:27 +01:00
George Hotz and GitHub
56fa5c1191
dsp simulator ( #8869 )
...
* dsp simulator
* progress
* fix
* close on test tiny
* working
* less waste
* line savings
* Device DSP compiler
* mock DSP at the bottom
* DSP tests
* docker caching
* test update
* need load
* skip that test for CI DSP
* last touch
* ugh
2025-02-04 09:45:04 +08:00
chenyu and GitHub
836cf42c2e
fix rand_like for multi ( #8880 )
2025-02-03 19:00:14 -05:00
chenyu and GitHub
746d899dbd
move multi axis to property ( #8879 )
...
also updated tests so that axis is known prior to realize
2025-02-03 16:02:09 -05:00
nimlgen and GitHub
fa90079370
amd: reallocate scratch ( #8872 )
...
* amd: reallocate scratch
* use it
* oops
* allocate default
* mypy
* ops
* address realloc from none better
* types correct
* this better
* ops
* rm
2025-02-03 23:21:37 +03:00
chenyu and GitHub
ec447a31e7
factor out get_axis in multi [pr] ( #8878 )
...
ALU/REDUCE_AXIS/RESHAPE/PERMUTE can change axis. prereq to move this logic to ops.py
2025-02-03 14:39:08 -05:00
chenyu and GitHub
cce26009f0
simplify pow to not call cos ( #8877 )
...
use %2 instead of cos to detect even numbers
2025-02-03 12:54:18 -05:00
geohotstan and GitHub
d1aa9f30bc
copy onnx_ops into onnx ( #8876 )
...
* just copy it over
* make OnnxOps a global var
* some small style stuff
* rerun CI but also some small clean up
* some comments
2025-02-03 12:15:07 -05:00
Ali Ladjevardi and GitHub
73c75d6ee1
DEFINE_LOCAL variable names start from temp0, not temp1 ( #8870 )
2025-02-03 22:50:38 +08:00
qazal and GitHub
b6c617272a
New schedule.py Order [pr] ( #8874 )
2025-02-03 14:59:11 +02:00
geohot
b075aefc12
hotfix: revert llvm host_arch
2025-02-03 16:46:19 +08:00
George Hotz and GitHub
a5753095dc
llvm cleanups [pr] ( #8867 )
2025-02-03 15:32:41 +08:00
George Hotz and GitHub
f484db0e63
dsp cleanups [pr] ( #8866 )
2025-02-03 15:18:53 +08:00
geohot
af2c2837f6
hotfix: skip broken test, add KERNEL Op
2025-02-03 14:02:55 +08:00
qazal and GitHub
565c37c681
start simplifying the scheduler context [pr] ( #8830 )
2025-02-02 18:11:36 +02:00
qazal and GitHub
d64af3c884
reorder simplifier and grouper logic in scheduler [pr] ( #8861 )
2025-02-02 17:19:52 +02:00
qazal and GitHub
83a904aaad
just schedule in test_recursive_pad [pr] ( #8860 )
2025-02-02 15:01:24 +02:00
6dadb60c93
LLVM JIT (+autogen llvm instead of llvmlite) ( #8486 )
...
* LLVM JIT
* Autogen LLVM
* Update autogen
* Move things around
* even more non-determinism
* windows
* more autogen weirdness
* more windows stuff
* blind windows development try 2
* more blind windows development
* even more blind windows development
* maybe i should just set up a windows vm...
* why can't everyone just use sysv abi?
* cleanup debugging stuff
* unused import
* icache flushing isn't required on x86
* merge jit_nt and jit_unix
* more
* Temporary hack to not segfault
* better error
* bad conflict resolution
* Attempt to simplify support/llvm.py
* More refactoring
---------
Co-authored-by: George Hotz <[email protected] >
2025-02-02 19:52:42 +08:00
66306b5321
Fix disk tensor assignment ( #8855 )
...
* Add test for disk tensor assignment failure
* Fix disk tensor assignment
---------
Co-authored-by: qazal <[email protected] >
2025-02-02 13:50:34 +02:00
Ali Ladjevardi and GitHub
6e523e4d17
Remove size arg from DEFINE_LOCAL [pr] ( #8845 )
...
* remove size arg form DEFINE_LOCAL
* make mypy happy
* whitespace
* dont change code in extra
* revert to temp1 to pass pr
2025-02-02 19:47:32 +08:00
nimlgen and GitHub
7841852870
hcq pci signal fuzzer ( #8854 )
...
* hcq pci signal fuzzer
* kk
* correct
2025-02-01 23:42:27 +03:00
qazal and GitHub
dc34a4146f
better process_replay context print [pr] ( #8856 )
...
* better process_replay context print [pr]
* test: revert push cast
* Revert "test: revert push cast"
This reverts commit 38a2aef6f8 .
2025-02-01 21:50:23 +02:00
chenyu and GitHub
5b1fc4dcb2
push cast to branches in UOp where ( #8850 )
2025-02-01 13:55:24 -05:00
chenyu and GitHub
73ee2d74c0
raise RuntimeError for int base pow ( #8852 )
...
current implementation is not precise and blocking other simplification change
2025-02-01 12:11:57 -05:00
qazal and GitHub
72e1f41f8e
add unbind_vars pattern matcher ( #8851 )
...
* add unbind_vars pattern matcher [pr]
* this can be cvar
* this is empty
2025-02-01 18:25:44 +02:00
nimlgen and GitHub
b3fa76419a
am: move queues to gpus ( #8848 )
...
* am: fix
* add flsg for thos
* do not depend on host parameter,
2025-02-01 18:02:52 +03:00