re the need for explicit type checking code in TVM FFI. 

Actually there is no explicit code for type checking as they are generated 
automatically via template expansion(on the receiving end), also we also have a 
"strong typed" signature that wraps the packed function interface, which gives 
you compile time type checking 
https://github.com/apache/incubator-tvm/blob/master/include/tvm/runtime/packed_func.h#L191
 

For dynamic language side(python) the exposed function is still type erased(as 
python is a dynamic language). 

Note that the view dynamic vs static typed language does not really apply to 
this case, because the main goal(exposing to python) means type-erasure(as 
python is dynamically typed). The main goal would be how to reduce the number 
of abstraction layers.

> Also these microbenchmarks are nice, but we also need to consider the
> overhead in typical workloads and see if it's still significant.

If we apply reasoning, most API cost is going to be FFI cost + exec cost, and I 
think the conclusion so far is we want FFI cost to be around 1e-7s to 1e-6s, 
which is the limit of any cost .


-- 
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-mxnet/issues/17097#issuecomment-569382845

Reply via email to