You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by GitBox <gi...@apache.org> on 2020/11/29 11:00:18 UTC

[GitHub] [tvm] luchangli03 opened a new issue #6992: Ansor does not support multi outputs

luchangli03 opened a new issue #6992:
URL: https://github.com/apache/tvm/issues/6992


   I tried to tune the following example, in which multiple output nodes are exported. This situation can be very common when you try to fuse a sub-graph, but I found Ansor can't not handle it, and Ansor can only generate codes for only one output node. In generated cuda code, I can clearly see there is only one output data pointer. TVM can correctly handle this problem, but TVM will generate two cuda kernel, which result in bad performance.
   
   @auto_scheduler.register_workload
   def add_test(data_shape0, data_shape1, data_shape2, data_shape3, dtype="float32"):
       data0 = te.placeholder(data_shape0, name="data0", dtype=dtype)
       data1 = te.placeholder(data_shape1, name="data1", dtype=dtype)
       data2 = te.placeholder(data_shape2, name="data2", dtype=dtype)
       data3 = te.placeholder(data_shape3, name="data3", dtype=dtype)
   
       add1 = topi.add(data0, data1)
       add2 = topi.add(data2, data3)
       add3 = topi.add(add1, add2)
   
       return [add2, add3, data0, data1, data2, data3]
   
   data_shape0 = (16, 1)
   data_shape1 = (1, 16)
   data_shape2 = (1, 16)
   data_shape3 = (16, 1)
   
   dtype = "float32"
   


----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [tvm] tqchen closed issue #6992: Ansor does not support multi outputs

Posted by GitBox <gi...@apache.org>.
tqchen closed issue #6992:
URL: https://github.com/apache/tvm/issues/6992


   


----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [tvm] tqchen commented on issue #6992: Ansor does not support multi outputs

Posted by GitBox <gi...@apache.org>.
tqchen commented on issue #6992:
URL: https://github.com/apache/tvm/issues/6992#issuecomment-735823532


   Please open a new thread on https://discuss.tvm.apache.org/


----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [tvm] merrymercy edited a comment on issue #6992: Ansor does not support multi outputs

Posted by GitBox <gi...@apache.org>.
merrymercy edited a comment on issue #6992:
URL: https://github.com/apache/tvm/issues/6992#issuecomment-735891967


   Yes, we do not have a rule to handle this kind of fusion.
   
   But ansor is expected to at least generate the correct code. The multiple output support is added in https://github.com/apache/tvm/pull/6584.  @comaniac Could you take a look at this issue?


----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [tvm] merrymercy commented on issue #6992: Ansor does not support multi outputs

Posted by GitBox <gi...@apache.org>.
merrymercy commented on issue #6992:
URL: https://github.com/apache/tvm/issues/6992#issuecomment-735891967


   Yes, we do not have a rule to handle this kind of fusion.
   
   But ansor is expected to at least generate the correct code. The multiple output support is added in https://github.com/apache/tvm/pull/6584 by @comaniac 


----------------------------------------------------------------
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:
users@infra.apache.org