Lunderberg commented on issue #13508:
URL: https://github.com/apache/tvm/issues/13508#issuecomment-1332461163

   @comaniac @tqchen  I've submitted #13524, which disables the use of 
simplifier extensions by `RemoveNoOp`.  My main concern was that it would 
prevent some of the planned simplifications in #13299, but all the test cases 
can either by handled without extensions, or have data-flow analysis enabled 
which uses all the extensions.
   
   > In addition, just my two cents about the simplification, correct me if I'm 
wrong, low-level compilers (e.g., nvcc, llvm) should be capable of simplifying 
this expression by themselves, so you might not see any performance improvement 
even you apply this simplification at TIR level.
   
   I was curious on this, and did some benchmarks after modifying `resize.py` 
to only use integer fractions to compute the indices and linear/cubic 
interpolations weights, which ended up having about a 1000x improvement in 
execution speed on the LLVM backend.  Apart from the floats, the main 
difference in the TIR was that `tir.VectorizeLoop` could identify an 
opportunity to vectorize the innermost loop for integer indices, but couldn't 
do so for floating-point indices.
   
   
![image](https://user-images.githubusercontent.com/3888575/204859152-5e24bc5b-f556-4d08-a1e5-77bff8d2a179.png)
   
   
   Since there was such a benefit, I'm going to clean up and PR those changes 
to `topi.image.resize`.  (It also has a 10x improvement in the time required to 
lower the schedule, so that's also a plus.)


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