2025-03-08 09:09:31 +00: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 `[pr]` in the pull request title.
|
|
|
|
|
|
|
|
Note that process replay [early stops when over 20% of kernels change, for speed.](https://github.com/tinygrad/tinygrad/pull/5480).
|
|
|
|
|
|
|
|
## Running locally
|
|
|
|
|
|
|
|
To run process replay locally:
|
|
|
|
|
|
|
|
(optional: clear previous process replay runs with `test/external/process_replay/reset.py`)
|
|
|
|
|
2025-06-13 15:59:36 +09:00
|
|
|
1. Run tests with `CAPTURE_PROCESS_REPLAY=1` in your branch. This will pickle process inputs to CACHEDB.
|
2025-03-08 09:09:31 +00:00
|
|
|
2. Checkout master
|
|
|
|
3. Run `test/external/process_replay/process_replay.py`
|
2025-06-13 15:59:36 +09:00
|
|
|
|
|
|
|
For reference, see `test/external/process_replay/local.sh`.
|