- 16 Feb, 2020 1 commit
-
-
* add additional switch to handle nested call node * Fix VM compiler for while loop with free var
masahi committed
-
- 02 Feb, 2020 1 commit
-
-
* Expose VM OptimizeModule to python * added missing imports * fix import
masahi committed
-
- 30 Jan, 2020 2 commits
- 22 Jan, 2020 1 commit
-
-
"driver" normally refers to the "main" function. Rationale: the header exposes set of APIs to drive compilation and should be named as driver api to best reflect its usage.
Tianqi Chen committed
-
- 21 Jan, 2020 1 commit
-
-
Bring up namespace te -- Tensor expression language DSL.
Tianqi Chen committed
-
- 19 Jan, 2020 2 commits
-
-
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 -
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
-
- 16 Jan, 2020 1 commit
-
-
* [REFACTOR] introduce top - Tensor Operation DSL. Historically we put Tensor, Schedule and compute under the root tvm namespace. This is no longer a good idea as the project's scope grows larger than the tensor operation DSL. This PR introduces top -- a namespace for tensor operational DSL concepts such as schedule, tensor, compute. We moved the related files to the new top subfolder. * Move relevant files into include/tvm/top and src/top
Tianqi Chen committed
-
- 15 Jan, 2020 1 commit
-
-
* [REFACTOR] Move support related code to include/tvm/support - tvm/logging.h -> tvm/support/logging.h - remove tvm/base.h, move with into tvm/support/with.h * src/common -> src/support
Tianqi Chen committed
-
- 14 Jan, 2020 3 commits
-
-
We will use a single ErrorReporter to report errors during program transformations.
Tianqi Chen committed -
Zhi Chen committed
-
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
-
- 11 Jan, 2020 3 commits
-
-
Under the unified IR. We will allow a single IRModule to store different function variants, such as relay::Function, ExternFunc, and low-level function. This PR changes relay::Function -> BaseFunc in the module file to support multiple function variants.
Tianqi Chen committed -
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 -
* replace TensorObj and TensorValue with NDArray * NodeBase to Object in Python * rebase
Zhi committed
-
- 09 Jan, 2020 2 commits
-
-
* [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 -
* [AutoTVM] Use vm compile in extracting task from relay * update * restructure vm compiler to reduce task extraction time * x * fix * update doc * udpate doc * lint
Haichen Shen committed
-
- 08 Jan, 2020 1 commit
-
-
* [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
-
- 04 Jan, 2020 1 commit
-
-
TVM_REGSISTER_API is an alias of TVM_REGISTER_GLOBAL. In the spirit of simplify redirections, this PR removes the original TVM_REGISTER_API macro and directly use TVM_REGISTER_GLOBAL. This type of refactor will also simplify the IDE navigation tools such as FFI navigator to provide better code reading experiences. Move EnvFunc's definition to node.
Tianqi Chen committed
-
- 03 Jan, 2020 1 commit
-
-
* [relay] test tensor_array in vm * add tensor_array scatter test
Zhi committed
-
- 31 Dec, 2019 1 commit
-
-
* [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
-
- 22 Dec, 2019 1 commit
-
-
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
-
- 20 Dec, 2019 1 commit
-
-
Zhi committed
-
- 18 Dec, 2019 1 commit
-
-
Zhi committed
-
- 01 Dec, 2019 1 commit
-
-
* Fix lambda lift * clean up * lint * fix * remove unused import
Haichen Shen committed
-
- 24 Nov, 2019 1 commit
-
-
* [LINT] Improve the check tool to handle ASF copyright message. * [LINT] Remove unnecessary copyright message as per ASF requirement. * Fix codegen hybrid * [LINT] Broaden license checks to include html, xml * [LINT] Fix rest of the files * Fix notice * [LINT] Improve check file type error message
Tianqi Chen committed
-
- 22 Nov, 2019 1 commit
-
-
* [VM] add a few more API to vm * [VM][Fix] fix vm convert args * [VM] a few fixes * rename fields * update * update vm profiler * x * add doc * lint * fix test * address comments
Haichen Shen committed
-
- 21 Nov, 2019 1 commit
-
-
Zhi committed
-
- 15 Nov, 2019 2 commits
-
-
[Relay][VM][Interpreter] Enable first-class constructors in VM and interpreter via eta expansion (#4218) * Fix constructor pretty printing * Make Module::HasDef name consistent with API * Add VM constructor compilation via eta expansion * Lint * Fix CI * Fix failing test * Address comment * Retrigger CI * Retrigger CI
Logan Weber committed -
* [Relay][Pass] Add pass to remove unused functions in relay module * Add tests * Fix lint * Fix visit order * Add pass argument * Fix
Wei Chen committed
-
- 11 Nov, 2019 1 commit
-
-
Previously runtime::Module was supported using shared_ptr. This PR refactors the codebase to use the Object protocol. It will open doors to allow easier interpolation between Object containers and module in the future.
Tianqi Chen committed
-
- 01 Nov, 2019 1 commit
-
-
Jared Roesch committed
-
- 20 Oct, 2019 1 commit
-
-
We think it will reduce the confusion with the meaning. https://discuss.tvm.ai/t/discuss-consider-rename-vm-datatype/4339
Wei Chen committed
-
- 17 Oct, 2019 1 commit
-
-
* [relay][vm] Separate VM runtime with executable * Address comments * move ctx back to vm * make only vm related fields and methods protected * integrate seriliaztion/deserialization to executable * create stream
Zhi committed
-
- 15 Oct, 2019 1 commit
-
-
* [RUNTIME] Introduce new object protocol. This PR introduces a new object protocol to unify the node and object. We also updated the existing runtime::vm code to make use of the new system. Update to the node will be done in a follow up PR. Other changes: - Remove object related code in json serializer as that code logic was not complete and we have a separate serializer for VM, can revisit later. * address review comment * Fix the child slot logic
Tianqi Chen committed
-
- 10 Oct, 2019 1 commit
-
-
* [Relay][VM] Fix constant folding issue in VM compiler 1. allow pass params when compile a module 2. enhance profiler robustness * remove dead code * fix lint * add get_params * fix test * don't pass params back * remove get_params * docs * move compile function to api * compile clashes with builtin name * fix compilation error * remove dead code
Wei Chen committed
-
- 09 Oct, 2019 1 commit
-
-
Zhi committed
-
- 05 Oct, 2019 1 commit
-
-
* [Relay][VM] Add more passes to VMCompiler * Check build config * Add todo
Wei Chen committed
-
- 06 Sep, 2019 1 commit
-
-
Yong Wu committed
-