tinygrad/test
Szymon Ożóg 58296c079d
Make Triton work again (#1547)
* Move ops_triton to runtime and remove errors from deprecated code

* Remove deprecated AST Kernel

* Remove deprecated buffer

* Add TritonProgram

* Triton Buffer

* Use RawCUDABuffer

* triton_compile

* Added new parameter

* pass _buf to program

* remove deprecated include

* Added triton tests

* Deprecated includes removed

* remove double print

* Disable float4 support

* Disable float4 support

* variable load fix

* Track local size

* Add pycuda to triton dependencies

* Merge test.yml

* install cuda packages for testing

* merge double package install

* remove emulated from triton tests

* upscale local index to power of 2 and add masking

* cuda envs

* Add TernaryOps

* ConstOp loading

* proper function name

* remove deprecated variables

* get global program from name

* const ops match local shape

* Enable test_nn

* remove deprecated import

* fix linter error

* Add wait logic

* Add local size override

* accumulate local shapes instead of using max shape

* Merge triton tests into global tests

* fix envs in testing

* Old testing routine

* split file into renderer and program

* remove print and starting whitespace

* pretty ptx print on debug 5

* linter errors

* ignore triton saturation tests

* ignore test example

* remove pytorch cpu extra index

* Add triton to existing testing routine

* use triton tests

* disable cuda backend in triton tests

* use cudacpu in tests

* print used device

* Print device default

* Remove print

* ensure we are running triton backend

* update variable signatures

* update dtypes for load

* infinity render fixed

* limit global size

* negative infinity now properly rendered

* split chain with parentheses for and node

* Add option to disable shared memory, disable for triton

* missing import

* Properly index and mask conditional load

* use mask only if not loading a block pointer

* nan support

* fix symbolic tests to include chain split

* proper masking for stores

* Implemented bool dtype

* Add mod

* fix loads for variables with valid range

* merge triton with cuda runtime

* merge from master

* run triton tests with cuda

* Correct target when running from triton

* conftest with triton compiler config

* use triton nightly

* verbose tests for triton

* capture stdout

* fix function depth when exiting multiple loops

* add render valid function for readabilty

* fix mask for local loops

* add _arg_int32 datatype

* fix dims for conditional loads

* enable non float stores

* correct variable dtypes

* fix type for arg_int32

* remove junk

* Added get max function for range based var.max

* remove deprecated code

* Fix triton ptxas path

* Fix testing for CI

* clamp local size by max local size instead of always running max

* Disable matmul test in triton cpu

* rerun tests

* Disable broken test in triton cpu

* whitespace removed

* rerun tests again

* Disable TestSymbolicOps for triton

* update to new uops

* linter fix

* ignore test/extra

* linting fix

* Update tinygrad/renderer/triton.py

Co-authored-by: Gijs Koning <gijs-koning@live.nl>

* remove deprecated line

* quotes type fix

* linter

* Remove unnecesary lines

* UnaryOps.NEG

* dont define constants

* Linting fix

* Disable tests that are broken in ocelot

* remove trailing whitespace

* reduce line count

* linting fix

* update to new uast

* New looping style

* Update to new uast

* make AST runner work with triton

* linting fix

* set renderer var for testing

* disable local for ocelot

* reenable all tests for ocelot

* Pass shared to cuda

* Don't group if the backend doesn't support shared mem

* use working gpuocelot branch

* enable all tests

* enable local for ocelot

* cleanup

* Update test.yml

* update cache key

* reenable test symbolic and extra

* Update test.yml

* Revert "Update test.yml" (rerun tests)

This reverts commit 98c0630ee5.

* Revert "fix symbolic tests to include chain split"

This reverts commit 22a9a4c9cd.

* Revert "split chain with parentheses for and node"

This reverts commit 7499a7004e.

* use global size from linearizer

* rename newvar to dtype to match other renderers

* join program start lines

* simplify code that adds axis to local dims

* assign r[u] in ssa

* We no longer need to replace target in src

* we no longer need to cast indices to int by hand

* Update triton.py(rerun tests)

* Update triton.py(rerun tests)

* Update triton.py(rerun tests)

---------

Co-authored-by: Gijs Koning <gijs-koning@live.nl>
Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com>
2023-09-23 14:17:12 +08:00
..
external Add needed contiguous to DiskBuffer. SHM support on OSX (#1891) 2023-09-22 09:16:42 +08:00
extra fixes (#1893) 2023-09-22 07:20:27 +08:00
models kopt works with local+grouped reduce and tests (#1824) 2023-09-09 13:22:09 -07:00
unit Fix VALIDHACKS for Images and make it default (#1832) 2023-09-23 07:34:43 +08:00
__init__.py All devices are equal! (#196) 2020-12-15 23:44:08 -08:00
Dockerfile Docker fix (#1039) 2023-06-25 10:38:58 -07:00
test_allocators.py no import when Python is shutting down (#1875) 2023-09-20 12:47:02 -04:00
test_assign.py patch to remove hack from stable_diffusion.py (#1814) 2023-09-08 09:26:50 -07:00
test_cache_collector.py no functions with same names in test/ (#1811) 2023-09-07 11:27:31 -07:00
test_conv.py 3x3 winograd convs (#1675) 2023-09-03 07:29:43 -07:00
test_conv_shapetracker.py add cache collector (#1595) 2023-08-28 19:59:55 -07:00
test_custom_function.py Move var_vals from ShapeTracker to LazyBuffer (#1819) 2023-09-08 09:25:10 -07:00
test_dtype.py move device to ops (#1646) 2023-08-23 08:30:17 -07:00
test_gc.py fix up eye and fix gc test 2023-02-27 06:53:18 -08:00
test_jit.py support symbols in shrink (#1611) 2023-08-22 09:08:21 -07:00
test_lazybuffer.py Apply ShapeTracker in interpreted backends (#1846) 2023-09-23 10:05:13 +08:00
test_linearizer.py kopt works with local+grouped reduce and tests (#1824) 2023-09-09 13:22:09 -07:00
test_net_speed.py CI < 5 minutes (#1252) 2023-07-23 13:00:56 -07:00
test_nn.py 3x3 winograd convs (#1675) 2023-09-03 07:29:43 -07:00
test_ops.py Make __getitem__ TINYer (#1661) 2023-09-02 23:01:01 -04:00
test_optim.py use class Foo: instead of class Foo(): (#1797) 2023-09-06 12:20:25 -07:00
test_randomness.py Tensor.uniform with dtype=int bug fix (#1593) 2023-08-26 01:59:53 -04:00
test_specific_conv.py move device to ops (#1646) 2023-08-23 08:30:17 -07:00
test_speed_v_torch.py linearizer: support local and group_for_reduce dimensions together (#1821) 2023-09-08 12:39:27 -07:00
test_symbolic_jit.py Move var_vals from ShapeTracker to LazyBuffer (#1819) 2023-09-08 09:25:10 -07:00
test_symbolic_ops.py Enable symbolic ops tests for LLVM (#1898) 2023-09-23 07:30:26 +08:00
test_symbolic_shapetracker.py symbolic shape type with TypeGuard (#1852) 2023-09-13 05:27:22 +08:00
test_tensor.py add test_tensor_copy (#1840) 2023-09-10 16:01:58 -07:00
test_uops.py Make Triton work again (#1547) 2023-09-23 14:17:12 +08:00
test_webgpu.js Revert "update editorconfig, enforce via CI (#1343)" (#1380) 2023-07-31 10:35:50 -07:00