1. 21 Jan, 2020 1 commit
    • [REFACTOR] Establish printer in the source folder (#4752) · e4d817d4
      * [REFACTOR] Establish printer in the source folder.
      
      As we move towards the unified IR, we will eventually want to build a unified
      printers for both relay and TIR.
      
      This PR isolate the printer component into a separate folder in src as a first step.
      
      - Refactored the Doc DSL using Object, clean up APIs.
      - Isolate out the meta data into a header.
      - move printer into relay_text_printer, add comments about further TODos.
      
      * Rename NodePrinter -> ReprPrinter to distinguish it from other printers
      Tianqi Chen committed
  2. 15 Jan, 2020 1 commit
  3. 11 Jan, 2020 1 commit
    • [REFACTOR][IR] Initialize Unified IR Expr Data Structure (#4673) · 12e51e6c
      This PR moves a few base types from relay and low-level Expr into the ir sub-folder.
      These classes will serve as a common type system across the stack.
      
      Rationale:
      
      - PrimExpr for low-level expressions
      - RelayExpr for advanced features, including Function definition.
      - Introduce BaseFunc to host all functions, including future PrimFunc(low-level expr functions, subject to discussion).
      
      This is a minimum change we can do to unify the classes into a common hierarchy.
      The main data structure that are variant specific will still be kept in the sub-namespaces.
      We only include classes that is needed to allow a common Module class.
      - BaseFunc
      - GlobalVar
      - Type definition part of ADT
      
      We will only need the BaseFunc and their checked_type to decide the calling convention
      across the function variants.
      Tianqi Chen committed
  4. 31 Dec, 2019 1 commit
    • [REFACTOR][OBJECT] Consoldiate NodePtr/Ref/Hash/Equal to Object (#4603) · a8c36921
      * [REFACTOR][OBJECT] Consoldiate NodePtr/Ref/Hash/Equal and macros to Object.
      
      Historically, we have classes like NodePtr/Ref/HashEqual.
      After unified object protocol, these names are just alias of the object counterpart.
      Moreover, there are helper macros defined over the places for defining these object.
      
      This PR consoldiate the terminologies into the corresponding ones
      in the Object system so we have a clean and consistent API moving forward.
      
      * Update include/tvm/attrs.h
      
      Co-Authored-By: Wei Chen <ipondering.weic@gmail.com>
      
      * fix compilation
      
      Co-authored-by: Wei Chen <ipondering.weic@gmail.com>
      Tianqi Chen committed
  5. 18 Dec, 2019 1 commit
  6. 24 Nov, 2019 1 commit
  7. 27 Oct, 2019 1 commit
  8. 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
  9. 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
  10. 12 Sep, 2019 1 commit
  11. 10 Jul, 2019 1 commit
    • [Relay][RFC] Implement type checking for Any (#3221) · 3fb84e2b
      * Implement type checking for Any
      
      Remove code generation related changes
      
      Remove compile changes
      
      Remove more
      
      Remove unification hack
      
      Add some code back that was needed, and clean up test
      
      Refactor test cases
      
      WIP
      
      Implement TypeHint AST
      
      Add test case which should fail
      
      Remove unification changes, and fix bug with let rec
      
      Restore unification for shapes
      
      Improve error reporting while debugging
      
      All examples type check
      
      All examples type check
      
      WIP
      
      First version that works with hints, needs clean up
      
      Remove dead code
      
      Tweaks
      
      Remove type hint
      
      Remove unecessary type hint stuff
      
      Remove more type hints
      
      Clean up
      
      Expose Any expression node
      
      Address CR
      
      Fix
      
      Fix solver
      
      Kill unecessary code
      
      Fix
      
      PyLint
      
      Fix
      
      Relocate loops
      
      Fix license and test
      
      Lint again
      
      Lint again
      
      Fix loops
      
      Fix docstring
      
      Fix template error
      
      Fix compiler issue
      
      Fix compile err
      
      Remove more runtime changes
      
      Restore buffer
      
      Fix segfault
      
      Fix
      
      Fix arange
      
      * Address feedback
      
      * Fix typo
      
      * Fix arange
      
      * Fix op level3
      
      * Fix issue with Python wrapper
      Jared Roesch committed
  12. 16 Apr, 2019 1 commit
  13. 09 Apr, 2019 1 commit
    • add document (#2714) · bb87f044
      lint
      
      lint
      
      save
      
      save
      
      add more case
      
      save
      
      error
      
      lint
      
      lint
      
      commit
      
      do
      
      lint
      
      save
      
      fix lint
      
      wrap it back as func
      
      lint
      
      save
      
      remove dead comment
      
      fix style
      
      fix lint
      
      Update src/relay/pass/partial_eval.cc
      
      Co-Authored-By: MarisaKirisame <lolisa@marisa.moe>
      
      Update src/relay/pass/partial_eval.cc
      
      Co-Authored-By: MarisaKirisame <lolisa@marisa.moe>
      
      Update src/relay/pass/partial_eval.cc
      
      Co-Authored-By: MarisaKirisame <lolisa@marisa.moe>
      
      Update src/relay/pass/partial_eval.cc
      
      Co-Authored-By: MarisaKirisame <lolisa@marisa.moe>
      
      Update src/relay/pass/partial_eval.cc
      
      Co-Authored-By: MarisaKirisame <lolisa@marisa.moe>
      
      Update src/relay/pass/partial_eval.cc
      
      Co-Authored-By: MarisaKirisame <lolisa@marisa.moe>
      
      address review feedback
      
      pe now handle freevar. as a result preserving function is now trivial.
      
      test
      
      add basic test, implement pretty printing for generic function
      
      test
      
      lint
      
      fix segfault
      
      save
      
      save
      
      do
      
      test
      
      fix another error
      
      address comment
      
      commit
      
      save
      
      address review feedback
      
      add test for invalidate, fix error in lookup
      
      rename cont to boduy
      
      fix error and add regression test
      
      fix error, add test case
      
      Update src/relay/pass/partial_eval.cc
      
      Co-Authored-By: MarisaKirisame <lolisa@marisa.moe>
      
      fix lint
      
      remove extra line
      
      save
      
      save
      雾雨魔理沙 committed
  14. 08 Apr, 2019 2 commits
    • [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
  15. 20 Mar, 2019 1 commit
  16. 27 Feb, 2019 1 commit
  17. 15 Feb, 2019 1 commit
  18. 22 Dec, 2018 1 commit
  19. 30 Nov, 2018 1 commit
    • [Relay] Alter Op Layout (#2150) · 2a5656bf
      * [RELAY] Finish alter op pass
      
      * [RELAY] AlterOpLayout Pass
      
      * fix broadcast operators
      
      * fix broadcast operators
      
      * fix broadcast operators
      
      * Support concatenate
      
      * address comments
      
      * address comments
      
      * add comments
      
      * rebase
      Lianmin Zheng committed
  20. 27 Nov, 2018 1 commit
  21. 19 Nov, 2018 1 commit
  22. 16 Nov, 2018 1 commit
  23. 13 Nov, 2018 1 commit
  24. 02 Nov, 2018 1 commit
  25. 30 Oct, 2018 1 commit
  26. 28 Oct, 2018 2 commits
  27. 25 Oct, 2018 1 commit
  28. 20 Oct, 2018 1 commit
  29. 18 Oct, 2018 1 commit
  30. 15 Oct, 2018 1 commit
  31. 10 Oct, 2018 1 commit
  32. 04 Oct, 2018 1 commit
  33. 01 Oct, 2018 1 commit
  34. 22 Sep, 2018 1 commit
  35. 21 Sep, 2018 1 commit
  36. 19 Sep, 2018 1 commit