mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-06-24 02:14:17 +00:00
* It works? * Clamp correctly * Refactor * Make code better * Undo some stuff * First step to trying to make floats work * Floats work in Python op but not metal because int div is different Python integerdivision was implemented as // which rounds towards negative infinity, but C integer division rounds towards 0 so there is an off-by-1 division error * arange does cumsum with ints and then multiplies by step This is so loop optimization can remain int only * Undo a lot of symbolic changes * Final check * Cleanup * There can be multiple phis * Fix multiple phi op removal * const sets dtype correctly * Fix bugs * Fix a couple bugs and add loop vars to resolve * missed one * Don't trim too many ops * Fix symbolic test * Use ones instead of full * Delete test * Lint passes * max node error * Small updates to loop logic * Remove unnecessary changes * We are getting somewhere * Simple case * Fix * rm, prn * Better * If NumNode doesn't work then continue * clamp is needed for arange(256) * Move everything into the optim fn * Replace correctly * Order optimizations better * Delete * mypy * Test for simplification * Rename * Fix test * update test description * Undo more * Cleanup * No replaced_ops map * Fix lint * AssertionError * back again * Reinstate assertion * Return true and make diff not as big * Bigger range for test * Change cumsum impl * fix bug * make big cumsum work * lint * Undo cumsum 2-stage removal * No while helper * optional min/max clamping * floats work * rm giant arange test * fix python cast None * Check phi parents * one phi allowed per where * Fix one phi per where * Rework iteration * Delete assertions * convert to int * Try mul -1 instead of neg for hip..? * Remove one phi per where requirements * one accum only * Lint * should simplify a loop at a time * Don't get rid of loop explcitly * Need to iterate backwards * lint * unary neg * Make optim work for onnx and sum_pad_collapse * Better message * filter alu ops correctly * Fix the limiter * lint and simplify * Add it back * off by one error * test wheres and phis * test max ops and non-if stuff * <= * cast_scalar * Oops * Change test * Pass loop uops instead of a modified map * Cut param transfer between linearizer and uops * Fix issues * Fix lint * fix efficientnet python 3.8 invalid syntax * distinct vars in seen_vars * accurate var names --------- Co-authored-by: Patrick Tsai <patosai@users.noreply.github.com> Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| external | ||
| imported | ||
| models | ||
| testextra | ||
| unit | ||
| web | ||
| __init__.py | ||
| Dockerfile | ||
| helpers.py | ||
| test_assign.py | ||
| test_conv.py | ||
| test_conv_shapetracker.py | ||
| test_copy_speed.py | ||
| test_custom_function.py | ||
| test_device_speed.py | ||
| test_dtype.py | ||
| test_dtype_alu.py | ||
| test_fusion_op.py | ||
| test_fuzz_shape_ops.py | ||
| test_gc.py | ||
| test_image_dtype.py | ||
| test_jit.py | ||
| test_kernel_cache.py | ||
| test_lazybuffer.py | ||
| test_lazyop.py | ||
| test_linearizer.py | ||
| test_linearizer_failures.py | ||
| test_linearizer_overflows.py | ||
| test_masked_st.py | ||
| test_method_cache.py | ||
| test_multitensor.py | ||
| test_net_speed.py | ||
| test_nn.py | ||
| test_ops.py | ||
| test_optim.py | ||
| test_randomness.py | ||
| test_sample.py | ||
| test_schedule.py | ||
| test_search.py | ||
| test_specific_conv.py | ||
| test_speed_v_torch.py | ||
| test_symbolic_jit.py | ||
| test_symbolic_ops.py | ||
| test_symbolic_shapetracker.py | ||
| test_tensor.py | ||
| test_tensor_data.py | ||
| test_to_numpy.py | ||
| test_uops.py | ||
| test_uops_stats.py | ||
| test_winograd.py | ||
| test_zero_copy.py | ||