masahi commented on code in PR #14548:
URL: https://github.com/apache/tvm/pull/14548#discussion_r1162244024


##########
include/tvm/topi/transform.h:
##########
@@ -2035,6 +2034,73 @@ inline Tensor adv_index(const Tensor& data, const 
Array<Tensor>& indices,
       name, tag);
 }
 
+namespace relax {
+// relax dynamic slice
+inline te::Tensor dynamic_strided_slice(const te::Tensor& x, const te::Tensor& 
begin,
+                                        const te::Tensor& end, const 
te::Tensor& strides,
+                                        Array<PrimExpr> output_shape,
+                                        std::string name = 
"T_strided_slice_dynamic",
+                                        std::string tag = kInjective) {

Review Comment:
   so do you have an answer to my original question? Why can't we simply create 
the output shape by
   
   ```
     Array<PrimExpr> out_shape;
   
     for (size_t i = 0; i < num_slice_axes; ++i) {
       auto d = indexdiv(end[i] - begin[i], strides[i]);
       if (d->IsInstance<tvm::IntImmNode>()) {
         // Preserve static dimension if possible
         out_shape.push_back(d);
       } else {
         out_shape.push_back(tvm::tir::Var("dim"));
       }
     }
   ```
   ?
   
   Sorry if I'm missing something obvious.



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