tinygrad/test/external/process_replay
qazal cefc3e9382
make all schedules immutable [run_process_replay] (#6718)
* compute inputs and outputs in LBScheduleItem [run_process_replay]

* simpler metadata, delete __hash__

* no dynamic field

* test_diff_schedule
2024-09-24 21:08:16 +08:00
..
diff_schedule.py make all schedules immutable [run_process_replay] (#6718) 2024-09-24 21:08:16 +08:00
helpers.py more process replay tracing work [run_process_replay] (#6650) 2024-09-22 16:16:58 +08:00
process_replay.py hotfix: bring COMPARE_SCHEDULE=0 back (#6657) 2024-09-23 10:39:43 +08:00
README.md process replay docs improvements (#5481) 2024-07-15 00:09:28 +03:00
reset.py process replay traceback (#6642) 2024-09-21 16:53:34 +08:00
test_diff_schedule.py var_vals prereq for deleting LBScheduleItem [run_process_replay] (#6511) 2024-09-14 17:00:30 +08:00
test_process_replay.py more process replay tracing work [run_process_replay] (#6650) 2024-09-22 16:16:58 +08:00
test_process_replay.sh AST is UOp (#6030) 2024-08-16 22:09:00 +03:00

Process replay tests

Process replay is a tool for creating a diff of generated kernels between two commits. By default, process replay doesn't assert kernel diffs.

Refactor and speedup prs must enable the assert by including [run_process_replay] in the pr title.

Note that process replay early stops when over 20% of kernels change, for speed..

Running locally

To run process replay locally:

(optional: clear previous process replay runs with test/external/process_replay/reset.py)

  1. Run tests with RUN_PROCESS_REPLAY=1 in your branch. This will capture the kernels.
  2. Checkout master
  3. Run test/external/process_replay/process_replay.py