I got trouble with passing [...] to tvm.call_extern, it will fail with TVMError: [07:24:03] /work1/yizhiliu/tvm/include/tvm/./packed_func_ext.h:123: Check failed: NodeTypeChecker<TNodeRef>::Check(sptr.get()) Expected type array<Expr> but get Array
Not sure whether my understanding is correct @tqchen . and wondering how to make it work.
Values inside a list are converted to Node because _Array constructs ArrayNode, which requires Node inside:
While make.Call requires Array<Expr>:
Thus fails the type-checker between (type-erased) Node and Expr:
This is unfortunately the restriction of the extern function(since we essentially only support C calls), we can however, pass in the pointer of shape and length as two arguments.