1. 24 Nov, 2019 1 commit
  2. 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
  3. 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
  4. 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
  5. 10 Jul, 2019 1 commit
  6. 06 Jun, 2019 1 commit
  7. 05 Jun, 2019 1 commit
  8. 01 May, 2019 1 commit
  9. 27 Apr, 2019 1 commit
  10. 10 Apr, 2019 1 commit
    • [REFACTOR] Use more TypedPackedFuncs (#2981) · 51785062
      * Add `set_body_simple` to Registry, refactor a lot of code to use it
      
      * Add more types to Relay PackedFuncs
      
      * Add Registry::set_body_method to easily make Node methods into
      PackedFuncs
      
      * Add set_body_method, set_body_node_method; start typing api_lang
      
      * Add some docs, remove unused script
      
      * Fix mysterious linter problem
      
      * Touch up api_ir.cc
      
      * Fix some issues with TOPI argument counts
      
      * Revert changes to topi.cc to avoid problems with optional arguments
      
      * A little more cleanup
      
      * Type more of the api _ functions
      
      * Whitespace
      
      * Finalize names and docs for new registry helpers
      
      * Update docs
      James Gilles committed
  11. 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
  12. 26 Mar, 2019 1 commit
  13. 12 Mar, 2019 1 commit
  14. 11 Mar, 2019 1 commit
  15. 09 Mar, 2019 1 commit
  16. 03 Mar, 2019 1 commit
  17. 28 Feb, 2019 1 commit
    • [Lang] Layout in TVM node system (#2509) · ee79703c
      * move layout.h & layout.cc from relay to tvm
      
      * change ConvertLayout in relay to bijectiveLayout->Forward/backward
      
      * add first test case
      
      * add LayoutAxis
      
      * add LayoutAxis struct and compiles
      
      * simplify BijectiveLayout rule consturct
      
      * polish func name for Layout, move impl to .cc, remove Layout::defined(), add defined() checker
      
      * partially add layout py support
      
      * add layout test cases
      
      * add doc for tvm.layout & tvm.bijective_layout
      
      * fix lint
      
      * fix lint
      
      * fix layout name generation bug
      
      * fix layout typo
      
      * address comments and add topi.layout_transform
      
      * layout.h->data_layout.h, test_lang_layout.py->test_lang_data_layout.py
      Yizhi Liu committed
  18. 27 Feb, 2019 1 commit
  19. 24 Feb, 2019 1 commit
  20. 21 Feb, 2019 1 commit
  21. 18 Feb, 2019 1 commit
  22. 08 Feb, 2019 1 commit
  23. 07 Feb, 2019 1 commit
  24. 11 Jan, 2019 1 commit
  25. 26 Dec, 2018 1 commit
  26. 24 Dec, 2018 1 commit
  27. 18 Dec, 2018 1 commit
  28. 06 Dec, 2018 1 commit
  29. 26 Nov, 2018 1 commit
  30. 25 Nov, 2018 1 commit
  31. 21 Nov, 2018 1 commit
  32. 15 Nov, 2018 1 commit
  33. 13 Nov, 2018 2 commits
  34. 07 Nov, 2018 1 commit
  35. 02 Nov, 2018 1 commit
  36. 31 Oct, 2018 1 commit
  37. 30 Oct, 2018 1 commit
  38. 26 Oct, 2018 1 commit
  39. 25 Oct, 2018 1 commit