comaniac commented on pull request #6395:
URL: https://github.com/apache/incubator-tvm/pull/6395#issuecomment-692311389


   > Hmm, this seems like it would make the job of the `PruneTensorRTSubgraph` 
pass much more difficult. `PartitionGraph` already takes care of collecting the 
inputs and outputs of a subgraph and additional processing such as making sure 
there are no duplicate outputs. If `PruneTesnorRTCompilerRegion` was before 
`PartitionGraph`, it would have to duplicate a lot of that work. The idea of 
the pruning pass is that we should present each backend with the final subgraph 
exactly as it would be when it is passed to the codegen and the backend should 
decide if it is valid or not. Are you concerned about the overhead of 
partitioning a subgraph which would be later discarded?
   >
   > Btw just for referece, here is the general implementation of PruneSubgraph 
that I originally implemented: 
[trevor-m@06015a4](https://github.com/trevor-m/tvm/commit/06015a4617cfaad56adcaa0c71b485d6bd711128)
   > 
   
   My main concern was that it would be tedious to have a `partition_graph -> 
revert_some_partitions` flow. Also in this case, your post-processing pass 
depends on the partition pass and may fail along with the change of the 
partition pass. If this requirement is important, I'd even prefer to add 
post-processing feature to the partition pass that allows you to provide a 
packed function to check if a partitioned function is valid.
   
   On the other hand, in order to not block this PR  for too long, we can maybe 
follow the current flow first, and discuss a plan of refactoring the partition 
pass to better support this requirement.
   
   @zhiics do you have any suggestion?
   
   > I have already created an API to retrieve the TRT version if TVM is 
compiled with the TRT runtime enabled. However, one of our use cases is to use 
TVM on a CPU-only instance to cross-compile models. For that use case, we want 
to be able to target compilation for different TRT versions - this affects the 
partitioning rules mostly. I don't think having to rebuild TVM for each target 
version will be a good solution.
   > 
   > Is it possible for my annotation functions to access the pass context and 
therefore a TRT config that I will be adding as @masahi suggested? I don't see 
any other python code accessing the PassContext though...
   
   Looks like `GetConfig` does not expose to the Python side.


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to