1. 11 Jan, 2020 1 commit
  2. 30 Dec, 2019 1 commit
    • [REFACTOR][RUNTIME] Update NDArray use the Unified Object System (#4581) · 55bd786f
      * [REFACTOR][RUNTIME] Move NDArray to Object System.
      
      Previously NDArray has its own object reference counting mechanism.
      This PR migrates NDArray to the unified object protocol.
      
      The calling convention of NDArray remained intact.
      That means NDArray still has its own type_code and
      its handle is still DLTensor compatible.
      
      In order to do so, this PR added a few minimum runtime type
      detection in TVMArgValue and RetValue only when the corresponding
      type is a base type(ObjectRef) that could also refer to NDArray.
      
      This means that even if we return a base reference object ObjectRef
      which refers to the NDArray. The type_code will still be translated
      correctly as kNDArrayContainer.
      If we assign a non-base type(say Expr) that we know is not compatible
      with NDArray during compile time, no runtime type detection will be performed.
      
      This PR also adopts the object protocol for NDArray sub-classing and
      removed the legacy NDArray subclass protocol.
      Examples in apps/extension are now updated to reflect that.
      
      Making NDArray as an Object brings all the benefits of the object system.
      For example, we can now use the Array container to store NDArrays.
      
      * Address review comments
      Tianqi Chen committed
  3. 22 Dec, 2019 1 commit
  4. 16 Oct, 2019 1 commit
    • [RUNTIME] Refactor object python FFI to new protocol. (#4128) · 02c1e117
      * [RUNTIME] Refactor object python FFI to new protocol.
      
      This is a pre-req to bring the Node system under object protocol.
      Most of the code reflects the current code in the Node system.
      
      - Use new instead of init so subclass can define their own constructors
      - Allow register via name, besides type idnex
      - Introduce necessary runtime C API functions
      - Refactored Tensor and Datatype to directly use constructor.
      
      * address review comments
      Tianqi Chen committed
  5. 16 Jul, 2019 1 commit
  6. 02 May, 2019 1 commit
  7. 08 Apr, 2019 1 commit
    • [HEADER] Add Header to Comply with ASF Release Policy (#2982) · cffb4fba
      * [HEADER] ASF header dir=include
      
      * [HEADER] ASF Header dir=src
      
      * [HEADER] ASF Header -dir=python
      
      * [HEADER] ASF header dir=topi
      
      * [HEADER] ASF Header dir=nnvm
      
      * [HEADER] ASF Header -dir=tutorials
      
      * [HEADER] ASF Header dir=tests
      
      * [HEADER] ASF Header -dir=docker
      
      * fix whitespace
      
      * [HEADER] ASF Header -dir=jvm
      
      * [HEADER] ASF Header -dir=web
      
      * [HEADER] ASF Header --dir=apps
      
      * [HEADER] ASF Header --dir=vta
      
      * [HEADER] ASF Header -dir=go
      
      * temp
      
      * [HEADER] ASF Header --dir=rust
      
      * [HEADER] Add ASF Header --dir=cmake
      
      * [HEADER] ASF Header --dir=docs
      
      * [HEADER] Header for Jenkinsfile
      
      * [HEADER] ASF Header to toml and md
      
      * [HEADER] ASF Header to gradle
      
      * Finalize rat cleanup
      
      * Fix permission
      
      * Fix java test
      
      * temporary remove nnvm onnx test
      Tianqi Chen committed
  8. 21 Feb, 2019 1 commit
  9. 23 Aug, 2018 1 commit
  10. 31 Mar, 2018 1 commit
  11. 02 Mar, 2018 2 commits
  12. 23 Feb, 2018 3 commits
  13. 28 Jan, 2018 1 commit
    • Porting schedules (except convolutions) to C++ (#763) · f280f23a
      * 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.
      alex-weaver committed
  14. 06 Jun, 2017 1 commit
  15. 04 Jun, 2017 1 commit
  16. 03 Jun, 2017 1 commit
  17. 20 May, 2017 1 commit
  18. 05 May, 2017 1 commit
  19. 27 Apr, 2017 1 commit
  20. 26 Apr, 2017 1 commit
  21. 22 Apr, 2017 2 commits
  22. 21 Apr, 2017 1 commit
  23. 16 Apr, 2017 1 commit
  24. 15 Apr, 2017 2 commits
  25. 26 Mar, 2017 1 commit
  26. 24 Feb, 2017 1 commit
  27. 22 Feb, 2017 1 commit
  28. 17 Feb, 2017 1 commit
    • [ARITH] DeduceBound (#40) · 5198c100
      * [PYTHON/API] Add compare and logic build-in op for Expr
      
      * remove 'and', 'or'
      
      * add deducer
      
      * [WIP] bound_deducer.cc
      
      * move IntervalSet and StrideSet into int_set_internal.h
      
      * add multiple failure for VariablePathFinder, add EvalSign
      
      * consider round in deduce, add success flag
      
      * remove Visit_(Div)
      
      * add comment, update HalideIR
      
      * expose intset to python
      
      * check the sign of every expr
      
      * set return type as ExprSignType
      
      * fine tune
      
      * add min & max python api for interval set
      
      * support for conditional expr
      
      * refactor test
      
      * add checker for BoundDeducer
      
      * add python check test
      
      * fix
      
      * fix
      
      * change range to interval; remove converter
      
      * remove converter declaration
      
      * remove int_set_internal.h
      Ziheng Jiang committed
  29. 07 Feb, 2017 1 commit
  30. 31 Jan, 2017 1 commit
  31. 29 Jan, 2017 1 commit