* Defined a common base class for TensorComputeOp and ComputeOp
* Made changes requested by @ZihengJiang
* added a testcase to assert that `tensorize` does not have any effect on TensorComputeOp ops.
* on the way to enable hybrid schedule
* I think I am done with imperfect loop split?
* copyright watermark
* loop annotation
* fix lint
* fix lint 1
* shit!
* loop reorder supported
* support bind to add some tests
* fused tested
* imperfect loop testcase
* fix lint
* add bind testcase
* fix doc
* fix online edit typo
* resolve @mercymercy review
* fix indent
* i should convince myself it is not flaky test first
* fix test hybrid
* how many flaky test are you expecting; i ball ball u to let me pass
* rebase halide...
* Ported injective schedules to C++. Added some elementwise ops.
* Fix lint errors
* Added reduction ops and schedules
* Fix lint errors
* Fix lint errors
* Fix lint errors
* Added transform ops
* Fix lint errors
* Fix lint errors
* Added softmax, log_softmax, leaky_relu and flatten ops.
Fixed issue where TVM_DECLARE_INTRIN_UNARY used the PureExtern flag
instead of PureIntrinsic.
Added softmax CUDA schedule.
* Fix lint
* Fix lint
* Added binary_dense, batch_norm_inference, dense, dilate, scale_shift_*,
global_pool and pool ops.
Extended pad to allow specifying pad_value.
Fixed issue where pad would throw if padding was zero in all dimensions.
* Fix lint
* Fix lint
* Added CUDA schedules for dense, pool and global_pool
* Added extern schedules for generic and CUDA
* Fix lint
* Added x86 binary schedules
* Fix lint
* Added rocm dense schedule. Added rocBLAS and cuBLAS support to dense ops
* Added pow ops. Added x86 default and injective schedules
* Fix lint
* Fix lint
* Fix lint
* Fix lint
* Fix lint
* Fix indent
* Removed schedules directory
* Changed left_shift, right_shift to operators. Changed pad_value in pad() to remove pointer usage
* Fixed usage of pad in nn/pooling.h. Fixed declaration of operator>>
* Fixed comments for shift operators
* Added comments to utility functions
* Added TOPI C++ library, exporting broadcast_add op
* Fix lint
* Share libinfo.py with TVM
* Fix lint
* Add other broadcast ops
* Fix lint
* Fix imports in topi
* Fix lib names
* Fixed build issue where windows builds don't apply correct definitions
* Removed TVM_EXPORTS from topi library
* Attempted CI build fix
* Add topi lib to tvm_multilib
* Fix Jenkinsfile
* Added TOPI build target to Makefile
* Fix nn op namespaces.
* Fix lint
* Renamed TOPI lib to libtvm_topi
* Removed _ffi/base.py
* Remove _ffi from topi, now shared with tvm.
* Make libtvm_topi loading optional
* Fix compiler warnings
* Fix lint
* Fix lint
* Fix lint
* Fix build error by making new libs argument to Target optional
* Added C++ Target type interop. Added registration of remaining C++ ops and schedules. Added test of broadcast ops
* Fix lint
* Fix lint
* Fix compile error
* Fix compiler warnings
* Fix compiler warnings
* Fixed int vector interop. Fixed argmin incorrectly invoking argmax. Fixed corner case in default schedules of attempting to fuse 0 length axes. Added tests for reduce ops.
* Refactored reduce builders
* Fixed typos in topi.cc. Added basic test.
* Fixed padding size error. Added dense, dilate, pooling tests
* Fixed issue where clip would output a different dtype to the input. Added split_sections op to cover the other mode of the python split op. Added tests.
* Changed extension type numbers to avoid clash with NNVM
* Fix lint
* Fix compiler warnings
* Removed use of std::vector from the public TOPI API
* Fix lint
* Add TOPI C++ tests to CI
* Fixed detail namespacing. Improved comments.
* Support for batch ComputeOp
* Support for batch ComputeOp
* Fix CrossThreadReduction
* Fix lint
* Add UpdateArray, remove support for batch reduce
* Tuple input support for reduce
* rfactor works with multiple reducer; support multiple reducers with different types
* Small fix
* Small fix
* Change return type of rfactor to Array<Expr>
* Fix lint
* Improve
* Add tutorial
* Improve tutorial
* Improve tutorial