pytorch
b8418e02 - Create Cache for Fusion Reuse in NVFuser in Python Frontend for Primtorch (#85045)

Commit
2 years ago
Create Cache for Fusion Reuse in NVFuser in Python Frontend for Primtorch (#85045) This PR does the following: - Replaces the `FusionOwner` with a `FusionCache` and `FusionInterface`. The `FusionCache` is a singleton that contains a cache of Fusions based on the `FusionDefinition`. It replaces the TorchScript graph caching that looked up a Fusion based on a stringified and canonicalized representation of the TorchScript graph with a prefix tree of statements in the `FusionDefinition`. The `FusionInterface` is an object that represents a Fusion in python. It can also query the cache based on id. - The ability to print out a mechanically derived definition, in python, for the user to use when debugging was added. - Replaces the python `examples` directory with true python tests under `test/test_nvfuser_frontend.py`. - Adds a set of C++ tests under the `test` directory to verify the `FusionCache`, `FusionDefinition`, and parts of the `RecordFunctor` child classes. - Adds a README file to explain how to use the Python Frontend While there are 3,000+ line edits, the bulk of the changes were repetitive line changes to the python bindings for each operation. An identical PR to #83267 to avoid tooling issues. Pull Request resolved: https://github.com/pytorch/pytorch/pull/85045 Approved by: https://github.com/davidberard98
Author
Committer
Parents
Loading