-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[checkpoint] Bug fixes. AOT is broken.
[checkpoint] Separate eval-to-clousure and apply-closure phases at last [checkpoint] Fix GetType recursion, get debug going. [checkpoint] Audit python to collapse create_executor and evaluate phases Just a few places where this doesn't work, seem harmless. [checkpoint] Get interpreter working using tec::LowerTE, but no dynamic shapes. - Hide TECompiler impl inside te_compiler.cc. However I think it is already exposed into Python land so this probably won't be possible now. - Move 'optimize' pre-transforms from interpreter.py to interpreter.cc so can be applied uniformly to both mod and expr. - Don't push the expr into the mod in interpreter.py since it's done again in interpreter.cc. Instead just build the Call node with the reflected args. - Both the mod and the expr are prepared identically (same transforms, of which LowerTensorExpr should be one). - LowerTensorExpr can look through let-bound and global vars, eg let f = fn (..., Primitive=1) { ... } ... f(...) ==> @lowered_f = ... @lowered_f(...) - Lots of DLOGs that need to be removed or reorganized. [checkpoint] Support shape functions. TODO: - Unit tests. - Cleanup logging (VLOG?) - Don't build all prims on each apply. [checkpoint] typo [checkpoint] Don't allow evaling expr independently of preparing module. TODO: - Make eval(mod, expr) the interface. - GlobalVar's don't line up. - Rework use of interpreter in fold_constant.cc to make clear it is evaling prim calls which have already been prepared. - Find a dynamic shape example that works at HEAD. - Unit tests. [checkpoint] Interpreting expression with refs to module defs working Commit to interpreter evaling expr w.r.t. mod in single phase. Thankfully turns out no existing uses broke that assumption so we dodged a bullet. Binding of expr into mod to be evaled is a mess, needs to be fixed. Still can't confirm dynamic shapes working since don't have an example working at HEAD. Change to partial_eval needs to be tested, but smells ok. [checkpoint] Dynamic shapes working The use of TIRCallAttrs is pretty hacky but the shape function calls are at least working. Next is to tackle the 'build everything just to project one prim fun' problem. [checkpoint] Cache built prims, make sure build with minimal deps. [checkpoint] Cleanup expr-to-module hackery.
- Loading branch information
1 parent
b3e832a
commit 01c73c5
Showing
51 changed files
with
1,120 additions
and
533 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.