1. 01 Nov, 2019 1 commit
    • [NODE][REFACTOR] Rename IRFunctor->NodeFunctor, use func pointer (#4247) · 9a3d2ec9
      * [NODE][REFACTOR] Rename IRFunctor->NodeFunctor, use function pointer for dispatching.
      
      Previously we used std::function for the functor dispatching.
      It introduces additional overhead and problems during dll destruction(of std::function).
      
      This PR changes the std::function to function pointers.
      This change a bit restrictions around the set_dispatch that we can get around,
      but will improve the general efficiency by reducing one level of indirection in the std::function.
      We also no longer need special marcos to register functions to the Functor.
      Tianqi Chen committed
  2. 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
  3. 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
  4. 25 Sep, 2019 1 commit
  5. 21 Jul, 2019 1 commit
  6. 13 Jul, 2019 1 commit
  7. 29 Jun, 2019 1 commit
  8. 13 Jun, 2019 1 commit
  9. 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
  10. 27 Feb, 2019 1 commit
  11. 12 Feb, 2019 1 commit
  12. 11 Jan, 2019 1 commit
  13. 04 Jan, 2019 1 commit
  14. 20 Sep, 2018 1 commit
  15. 23 Aug, 2018 1 commit
  16. 17 Dec, 2017 1 commit
  17. 13 Dec, 2017 1 commit
  18. 25 Sep, 2017 1 commit
  19. 03 Aug, 2017 2 commits
  20. 15 Jul, 2017 1 commit
  21. 12 May, 2017 1 commit
  22. 04 May, 2017 1 commit
  23. 26 Mar, 2017 1 commit
  24. 07 Mar, 2017 1 commit
  25. 05 Mar, 2017 1 commit
  26. 04 Mar, 2017 1 commit
    • [PASS]LoopPartition (#56) · c8ebfbe3
      * loop_partition draft
      
      * divide loop variable into constant domain and variable domain & consider multiple partitions
      
      * process doubt interval
      
      * fix and refactor, add relax_map arg in BoundDeduce
      
      * fix testcase and comment
      
      * rebase to zero, convert to SSA
      
      * change the logic of generating loop code & fix issues
      
      * add a testcase for relax map in deducebound && fix issues
      
      * clean code
      
      * const auto&
      
      * add test_multi_if
      Ziheng Jiang committed
  27. 21 Feb, 2017 1 commit
  28. 20 Feb, 2017 1 commit
  29. 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
  30. 12 Feb, 2017 1 commit
  31. 07 Feb, 2017 1 commit
  32. 05 Feb, 2017 1 commit
  33. 02 Feb, 2017 1 commit
  34. 10 Jan, 2017 1 commit
  35. 09 Jan, 2017 1 commit
  36. 06 Jan, 2017 3 commits
  37. 04 Jan, 2017 1 commit