joshherr227 opened a new pull request #9674:
URL: https://github.com/apache/tvm/pull/9674
This tool allows the user to bisect a run of passes via the tvm pass
instrumentation infrastructure.
Invocation is:
```
from tvm.relay.debug import PassBisection
with tvm.transform.PassContext(instruments=[PassBisection(limit=N)]):
...
```
In addition to the python debugging tool, an additional member has been
added to PassInfoNode in order to facilitate prioritizing passes that MUST run
in order for Relay/TIR to compile. That is, passes marked with the new
run_always flag will ALWAYS run, regardless of the limit. Below is a list of
the passes that were marked with this new attribute.
["sequential",
"InferType",
"LowerTE",
"LowerTensorExpr",
"FuseOps",
"PlanDevices",
"PlanDevicesCore",
"BindTarget",
"Filter",
"FoldConstant",
"DynamicToStatic",
"SimplifyInference",
"tir.LowerIntrin",
"tir.LowerTVMBuiltin",
"tir.Simplify",
"tir.MakePackedAPI",
"tir.VectorizeLoop",
"tir.StorageFlatten",
"tir.StorageFlattener",
"tir.StorageFlatten_impl",
"tir.BufferShapeLegalize",
"tir.BufferStrideLegalize"]
These passes were arrived at via trial and error compiling a resnet50 caffe
model until it ran with limit=1 (only the first pass runs). It may not be
exhaustive.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]