* [WIP] C++ topi contributions
Summary:
This diff implements C++ topi contributions for:
- relu with parametrix threshold
- pad with generic padBefore / padAfter specification
- matmult with transposes
- conv2d_nchw, conv2d_hwcn with runtime constant padding and strides
- depthwise_conv2d_nchw with runtime constant padding and strides
- group_conv2d_ngchw with runtime constant padding and strides
- broadcast_to a broadcastable shape
- broadcast_bop where bop is an usual binary op (+ - * / %)
Convolution padding is implemented using the pad operation.
To avoid extra memory consumption, it is generally recommended to inline the padding with the autoinliner.
Unfortunately in its current form the elemwise checks are too restrictive to allow inlining.
So this diff also proposes an extension to LHS injective (i.e. no reduction axis in the current IR design)
Test Plan:
Tested in C++ testsuite in a separate repository, I am looking for suggestions to quickly spin up some tests for tvm.
Reviewers: tqchen
Subscribers:
Tasks:
Tags:
Blame Revision:
* Review + Lint + GSG C++
* [tvm4j] RPC Server
* [tvm4j] fix recursively function calling; connect to proxy server; osx rename .so to .dylib
* [tvm4j] test case for proxy connection; thread pool for serving
* Typofix.
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
* Probe for nvrtc in lib directory as well.
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
* Conda build recipe for TVM.
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
* Install rules and dynamic library loading fixes.
A batch of fixes:
- Added 'install' rule to cmake and make, which installs runtime
headers and library (libtvm_runtime).
- Added 'installdev' rule to make, which also installs the compiler
infrastructure headers and library (libtvm)
- Added 'INSTALL_DEV' option to cmake, for toggling installation
of compiler infrastructure headers and library
- cmake no longer builds into lib/ directory; instead all build
products go in your build directory
- New algorithm for dynamic library loading, as described in #281.
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
* Emit dylib on OS X
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
* Lint fixes.
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
* [tvm4j] register user-defined function
* [tvm4j] define java function (pushArgToStack) to convert arguments to C TVMValue
* [tvm4j] make Module & Function extends TVMValue
* [tvm4j] make registered cb function return Object
* [tvm4j] add cb finalizer; add TVMValueBytes
* [tvm4j] support NDArrayBase cb arg
* [tvm4j] register cb function unit tests
* [tvm4j] pass Function.Callback to resource_handle
* [tvm4j] fix type cast