1. 24 Oct, 2019 1 commit
    • [NODE][REFACTOR] Refactor reflection system in node. (#4189) · 78ca6fc8
      * [NODE][REFACTOR] Refactor reflection system in node.
      
      - Removed the old Node, Node is now just an alias of runtime::Object
      - Introduce ReflectionVTable, a new columnar dispatcher to support reflection
        - This allows us to remove vtable from most node objects
        - The VisitAttrs are registered via TVM_RESGITER_NODE_TYPE,
          they are no longer virtual.
      - Consolidated serialization and reflection features into node.
      
      * Explicit type qualification when calling destructor.
      
      * Fix SPIRV, more comments
      Tianqi Chen committed
  2. 21 Oct, 2019 1 commit
    • [REFACTOR][NODE][RUNTIME] Move Node to the new Object protocol. (#4161) · 7895adb2
      * [REFACTOR][NODE][RUNTIME] Move Node to the new Object protocol.
      
      This PR removes the original node system, and make node as a subclass of Object.
      This is a major refactor towards a better unified runtime object system.
      
      List of changes in the refactor:
      
      - We now hide data_ field, use Downcast explicitly to get a sub-class object.
      - Removed the node system FFI in python.
      - Removed the node C API, instead use PackedFunc for list and get attrs.
      - Change relay::Op::set_attr_type_key(attr_key_name) to relay::Op::set_attr_type<AttrType>().
        - This change was necessary because of the new Object registration mechanism.
        - Subsequent changes to the op registrations
        - The change revealed a few previous problems that is now fixed.
      - Patched up a few missing node type registration.
        - Now we will raise an error if we register object that is not registered.
      - The original node.h and container.h are kept in the same location.
      - Calling convention: kObjectHandle now equals the old kNodeHandle, kNodeHandle is removed.
      - IRFunctor now dispatches on ObjectRef.
      - Update to the new type checking API: is_type, derived_from are replaced by IsInstance.
      - Removed .hash member function, instead use C++ convention hasher functors.
      
      * Address review comments
      Tianqi Chen committed
  3. 23 Aug, 2019 1 commit
  4. 11 Jul, 2019 1 commit
  5. 12 Jun, 2019 1 commit
  6. 02 May, 2019 1 commit
  7. 01 May, 2019 1 commit
  8. 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
  9. 12 Mar, 2019 1 commit
  10. 20 Sep, 2018 1 commit
  11. 23 Aug, 2018 1 commit
  12. 24 Jun, 2018 1 commit
  13. 29 May, 2018 1 commit
  14. 20 Apr, 2018 1 commit
  15. 16 Apr, 2018 1 commit
  16. 22 Feb, 2018 1 commit
  17. 07 Feb, 2018 1 commit
  18. 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
  19. 20 Jan, 2018 1 commit
  20. 05 Dec, 2017 1 commit
    • Port build_module.py to C++ (#667) · 17e7e3d5
      * Port build_module.py to C++
      
      * Fix lint errors
      
      * Fix more lint errors
      
      * Fix more lint errors
      
      * Fix more lint errors
      
      * Fix build error
      
      * Implemented style fixes
      
      * Fix lint errors
      
      * Added function to construct target from string
      lower now returns array
      
      * Fix lint error
      
      * Implemented review changes - style & Target options -> std::vector
      
      * Fixed lint, argument alignment and added unit test
      
      * Changed test to target LLVM, fixed sign compare warnings
      
      * Reverted unit test to CUDA, changed Jenkinsfile to enable GPU for C++ tests
      
      * Slight change to Jenkinsfile
      
      * Changed build_module test from CUDA to LLVM
      
      * Added function var() to construct a Var instance.
      Changed implementation of LLVMEnabled()
      
      * Reverted Jenkinsfile
      alex-weaver committed
  21. 23 Sep, 2017 1 commit
  22. 07 Sep, 2017 1 commit
  23. 01 Sep, 2017 1 commit
  24. 30 Aug, 2017 1 commit
  25. 05 Aug, 2017 1 commit
  26. 01 Aug, 2017 1 commit
  27. 18 Jul, 2017 1 commit
    • [API] Prefetch schedule supported (#258) · 01cbc61a
      * prefetch interface added
      
      * prefetch python comments modified. prefetch info data structure maintained.
      
      * start injecting prefetches. first step (domain touch) implemented.
      
      * domain touch tested.
      
      * Prefetch ir_mutator and ir_visitor dispatch registered.
      
      * modify domain touched from passing a func_ref to passing a tensor
      
      * modify domain touched from passing a func_ref to passing a tensor
      
      * modify Tensor copy to Tensor ref
      
      * temp commit for rebase
      
      * debug info removed, typo fixed, ready to rebase
      
      * prefetch flatten test add!
      
      * roll back builtin functions to side effect functions
      
      * lint error fixed!
      
      * add cache line size to storage flatten argument
      
      * forgot modifications add
      
      * change code style to dmlc-like; get rid of can_prove, use manually compute instead
      
      * python lint error fixed
      
      * modify instrinsic name to pass tests
      
      * [TEST] get rid of str(), replace them by accessing attributes
      
      * change map to list comprehension
      
      * redundant numpy import removed
      Jian Weng committed
  28. 06 Jul, 2017 1 commit
  29. 19 Jun, 2017 1 commit
  30. 11 Jun, 2017 1 commit
    • Support for Tuple Inputs of Reducer and ComputeOp (#175) · f467f66e
      * 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
      ziheng committed
  31. 05 Jun, 2017 1 commit
  32. 02 Jun, 2017 1 commit
  33. 08 May, 2017 1 commit
  34. 18 Apr, 2017 1 commit
  35. 09 Apr, 2017 1 commit
  36. 01 Apr, 2017 1 commit
  37. 29 Mar, 2017 1 commit
  38. 05 Mar, 2017 1 commit
  39. 26 Feb, 2017 1 commit
  40. 22 Feb, 2017 1 commit