1. 10 Apr, 2020 1 commit
  2. 05 Apr, 2020 1 commit
  3. 23 Mar, 2020 1 commit
  4. 16 Mar, 2020 1 commit
    • Return empty CSourceModule when no lowered_funcs exists in Relay mod (#4847) · 11ee1a0e
      * Use dummy func when no lowered_funcs exists in Relay mod
      
      * Dummy func -> CSourceModule with empty code str
      
      * Added comments describing the empty CSouceModule
      
      * Always import external modules w/o assertions
      
      * Use CSourceModule as a fallback for LLVMModule
      
      * Changed cond for target == llvm
      
      * Create an empty LLVM module w/o using dummy func
      
      * Avoid using IR str concat to create LLVM module
      
      * Improved comments for codegen.LLVMModuleCreate
      
      * Satisfy the linter for LLVMModuleCreate
      Ruizhe Zhao committed
  5. 07 Mar, 2020 1 commit
  6. 05 Mar, 2020 1 commit
  7. 01 Mar, 2020 1 commit
  8. 30 Jan, 2020 1 commit
  9. 22 Jan, 2020 1 commit
  10. 20 Jan, 2020 1 commit
  11. 19 Jan, 2020 2 commits
    • [REFACTOR][CODEGEN] codegen->target, build_module->driver (#4742) · 33b0831c
      This PR moves the codegen related code into the target folder,
      as they are target specific functionalities.
      
      We also adopt the term "compiler driver" in common compiler infra
      such as rust, GHC and clang.
      As a result, build_module is moved into the driver folder.
      Tianqi Chen committed
    • [REFACTOR] Establish tir (#4740) · cf59b206
      TIR is the new namespace for low-level IR
      for tensor-level optimizations and loop transformations.
      
      This PR establishes the namespace and files.
      
      - lowered_func.h,buffer.h,data_layout.h -> tir/buffer.h,tir/data_layout.h,tir/lowered_func.h
      - ir.h -> tir/expr.h, tir/stmt.h
      - ir_functor_ext.h -> tir/expr_functor.h, tir/stmt_functor.h
      Tianqi Chen committed
  12. 14 Jan, 2020 1 commit
    • [REFACTOR][IR] Unified IR IRModule structure. (#4699) · c69092ae
      This PR brings relay::Module as the unified IRModule structure.
      IRModule will be used as the basic unit for transformations
      through out the stack.
      
      - Rename relay::Module -> IRModule
      - Move relay/module.h -> ir/module.h
      - ModuleNode::FromExpr -> IRModule::FromExpr
      - FromText -> IRModule::FromText
      Tianqi Chen committed
  13. 11 Jan, 2020 2 commits
  14. 09 Jan, 2020 1 commit
    • [REFACTOR][IR] tvm::Expr -> PrimExpr(Primitive Expr) (#4669) · d6a23cf5
      * [REFACTOR][IR] tvm::Expr -> PrimExpr(Primitive Expr)
      
      As part of unified IR, we will need to unify relay::Expr
      and the current tvm::Expr under the same base type.
      
      From the techinical point of view. tvm::Expr is a "primitive"
      expression that only contains POD types and handles and does
      not do life-cycle management.
      
      This PR renames Expr->PrimExpr to clarify that.
      We will send a subsequent PR to introduce the base expr class.
      
      * Remove legacy VarExpr and ExprHash/Equal
      Tianqi Chen committed
  15. 08 Jan, 2020 1 commit
    • [REFACTOR][IR] Add Node suffix to low-level IR nodes (#4649) · f4c5f93b
      * [REFACTOR][IR] Variable -> VarNode
      
      * [REFACTOR][IR] Add/Sub/Mul/Div -> AddNode/SubNode etc.
      
      * [REFACTOR][IR] Min/Max/FloorDiv/FloorMod -> MinNode/MaxNode etc.
      
      * [REFACTOR][IR] EQ/NE/LT/LE/GT/GE/Select -> EQNode/NENode etc.
      
      * [REFACTOR][IR] Add Node suffix to Select/Call/Load/Ramp/Shuffle/Let
      
      * [REFACTOR][IR] Add node suffix to IntImm/UIntImm/FloatImm/StringImm
      
      * [REFACTOR][IR] Add Node suffix to Any, AttrStmt, AssertStmt
      
      * [REFACTOR][IR] Add Node suffix to Store/Provide/Allocate/Free
      
      * [REFACTOR][IR] Add Node suffix to ProducerConsumer
      
      * Fix lint
      
      * style updates, test fixes
      Tianqi Chen committed
  16. 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
  17. 22 Dec, 2019 1 commit
    • [REFACTOR][DTYPE] Isolate dtype to runtime (#4560) · 7fa8aab5
      dtype.h -> runtime/data_type.h
      
      Changes:
      - Rename all old reference of tvm::Type to DataType
      - ExprNode.type -> ExprNode.dtype
      - Expr.type() -> Expr.dtype()
      - Change Expr related functions to expr_operator.
        - DataType::min() -> min_value(DataType)
        - DataType::max() -> max_value(DataType)
      - Move type constructor Int, UInt, Float, Handle, Bool into DataType.
        - Int(bits) -> DataType::Int(bits)
        - UInt(bits) -> DataType::UInt(bits)
      Tianqi Chen committed
  18. 18 Dec, 2019 1 commit
  19. 11 Nov, 2019 1 commit
  20. 29 Oct, 2019 1 commit
  21. 17 Oct, 2019 1 commit
  22. 09 Oct, 2019 1 commit
  23. 02 Oct, 2019 1 commit
  24. 27 Sep, 2019 1 commit
  25. 24 Sep, 2019 1 commit
    • [Relay] Add new IR pass CombineParallelDense (#3862) · ed9fdfb0
      * Refactor to create abstract ParallelOpCombiner
      
      * First draft of CombineParallelDense
      
      * Begin to work on tests
      
      * Test
      
      * Refactor to move out more common code
      
      * Clean up
      
      * Fix
      
      * Remove statics
      
      * fix wording
      
      * Start to add combine_parallel_op_batch
      
      * Resolve PR comments
      
      * Resolve PR comments
      
      * dummy change to retrigger CI
      
      * Change special case from bias_add to add
      
      * Revert special case change
      
      * Ignore units check
      
      * dummy change to retrigger CI
      
      * dummy change to re-trigger CI
      
      * Improve docs
      
      * Update docs
      
      * Update docs
      Jon Soifer committed
  26. 06 Aug, 2019 1 commit
    • [Relay] Legalize pass (#3672) · 79922bd3
      * [Relay] Rewrite pass.
      
      This pass transforms an expression to other expression.
      
      This pass has many usecases
       * Replace a expr to another expr, if the other expr has faster performance.
       * For ASICs, we might want to modify the inputs to adapt to the HW support.
       * Alter op layout can work in conjunction with this pass.
      
      The supporting usecase is the Intel i8 x i8 conv. Intel HW supports u8 x i8 conv
      in HW. Using this pass, we can replace an i8 x i8 conv to a sequence of
      operators where one of the operators is now u8 x i8 conv. This will also help
      automatic quantizaion performance.
      
      * Better API name.
      
      * Removing the conv2d legalization for x86. Will send a separate PR.
      
      * Test name changes.
      
      * Registering one funtion to register FTVMLegalize.
      
      * Better comments.
      Animesh Jain committed
  27. 16 Jul, 2019 1 commit
  28. 11 Jul, 2019 1 commit
  29. 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
  30. 06 Jul, 2019 1 commit
  31. 02 Jul, 2019 1 commit
  32. 17 Jun, 2019 1 commit
  33. 03 Jun, 2019 1 commit
  34. 28 May, 2019 1 commit
  35. 24 May, 2019 1 commit
  36. 16 May, 2019 2 commits
  37. 10 May, 2019 1 commit