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]


Reply via email to