masahi commented on issue #4418: [RUNTIME] Add cudnn conv3d
URL: https://github.com/apache/incubator-tvm/pull/4418#issuecomment-559898995
 
 
   @optima2005 The problem seems to be that "Array" is not an "Expr". make.Call 
[expects](https://github.com/apache/incubator-tvm/blob/master/src/api/api_ir.cc#L102)
 its argument to be "Array\<Expr\>", but if we pass a python list, which 
converts to "Array", TVM complains that "Array" is not an "Expr". The error 
message is confusing, but that actual error occurs 
[here](https://github.com/apache/incubator-tvm/blob/master/include/tvm/packed_func_ext.h#L70),
 where TVM tries to type check Array elements type. The element type should be 
"Expr", but if we pass a list as an additional argument, the type checking 
fails because it is "Array", not "Expr". 
   
   The reason we can pass Tensors is that, before TVM passes python arguments 
to C++,  TVM replaces Tensors with "a Call expression that returns Tensor" 
[(here)](https://github.com/apache/incubator-tvm/blob/master/python/tvm/intrin.py#L41-L42).
 We need something similar for lists, but that doesn't seem to exist now.
   
   So we need to give up on our approach. Can you add python functions 
conv2d_forward and conv3d_forward? Once the CI passes, I'll check the 
std::vector issue and then merge. 

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to