- 19 Jan, 2020 1 commit
-
-
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
-
- 17 Jan, 2020 1 commit
-
-
Move the conversion extensions to the specific class definitions so that we longer need to include packed_func_ext.
Tianqi Chen committed
-
- 16 Jan, 2020 1 commit
-
-
* [arith] add ShapeVar representing non-neg valued variable in a tensor shape * bounder remover; deal with div in int_set differently * fix bounder_remover * migrate unittest to use shape_var * use tvm.shape_var in integration & relay tests * add test case; fix Var register * fix lint * fix lint again * add default ShapeVar visitor in Relay * fix override * fix ShapeVar visit bug * revert IntervalSet for shape_var * remove bound_remover * remove is_var; use constructor for shapevar/var instead * ShapeVar -> SizeVar; add constructor comments * shape_var -> size_var in doc * tindex -> size
Yizhi Liu committed
-
- 15 Jan, 2020 2 commits
-
-
This PR moves attrs.h into the ir folder as it can serve as a common infra for building ir dats structures. We also moved common container(FloatImm) into ir/expr.h
Tianqi Chen committed -
* [REFACTOR][IR] Unify IntImm and UIntImm This PR unifies UIntImm and IntImm to simplify the codebase. Unsigned integer constants will also be stored as IntImm. For uint constant that does not fit into int64(rare case), we introduced an intrinsic tvm_big_uint_imm to construct such intgers by its lower and higher 32bits. * [REFACTOR][IR] Remove UIntImm to use IntImm * rename big->large
Tianqi Chen committed
-
- 09 Jan, 2020 1 commit
-
-
* [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
-
- 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
-
- 06 Jan, 2020 2 commits
-
-
* [REFACTOR][IR] Introduce SeqStmt to replace Block ir::Block was used to represent a sequence of Stmts in the original low-level IR. The nested ir::Block structure is not really friendly for recursive visits, especially when the statements are unrolled. This PR introduce a SeqStmt that directly stores a sequence of statements in an Array container. The new SeqStmt will be used as a replacement of the original Block structure. * [REFACTOR] Migrate use of Block to SeqStmt. * [REFACTOR] Remove Block * Add more comments per yizhi's comment
Tianqi Chen committed -
Previously we support a limited case of function type deduction and in many places we have to supply the type twice during set_body_typed (one in the template parameter, another in the lambda signature). This PR improves the deduce function by enablng automatic function signature deduction. ``` TVM_REGISTER_GLOBAL("sub") .set_body_typed([](int x, int y) -> int { return x - y; }); ``` Unfortunately, because of template conflict, we can not support the original case where both type signature and lambda are supplied through set_body_typed. This PR refactors the existing regsitration to the new style.
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
-
- 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
-
- 21 Oct, 2019 1 commit
-
-
* [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
-
- 27 Sep, 2019 1 commit
-
-
Tianqi Chen committed
-
- 25 Sep, 2019 2 commits
-
-
* [ARITH] Use explicit div/mod functions instead of operators. * fix pooling case
Tianqi Chen committed -
* Expose llvm.nearbyint intrinsic. This is a faster alternate to rounding. Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags: * Added python binding. Added test. Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
Kimish Patel committed
-
- 22 Sep, 2019 1 commit
-
-
* add expr `isnan` * move to intrinsic * doc & add to topi * fix error from ci
Huang, Guangtai committed
-
- 20 Sep, 2019 1 commit
-
-
* [ARITH] Add Lowering rule for FloorDiv/Mod * add comment about constant folding
Tianqi Chen committed
-
- 26 Aug, 2019 1 commit
-
-
* fix inconsistent python/cpp APIs for if_then_else * fix error message * fix power consistency * fix * fix bug * add test
Xingjian Shi committed
-
- 13 Jul, 2019 1 commit
-
-
* [ARITH][IR] Introduce FloorDiv/Mod * Address review comments * address review comments, fix div sub rule
Tianqi Chen committed
-
- 11 Jul, 2019 1 commit
-
-
* [INFA][IR] Build and Evolve Low-level IR. Remove dep from HalideIR. * Update include/tvm/node/ir_functor.h Co-Authored-By: Jared Roesch <roeschinc@gmail.com> * Update include/tvm/node/ir_functor.h Co-Authored-By: Jared Roesch <roeschinc@gmail.com>
Tianqi Chen committed
-
- 10 Apr, 2019 1 commit
-
-
* 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
-
- 08 Apr, 2019 1 commit
-
-
* [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
-
- 03 Mar, 2019 1 commit
-
-
Tianqi Chen committed
-
- 19 Feb, 2019 1 commit
-
-
* Add eager simplication for FloatImm * fix * fix lint * Fix gcc warning * fix * Add test case
Haichen Shen committed
-
- 01 Oct, 2018 1 commit
-
-
Tianqi Chen committed
-
- 23 Aug, 2018 1 commit
-
-
Tianqi Chen committed
-
- 13 Jul, 2018 1 commit
-
-
Pariksheet Pinjari committed
-
- 10 Jul, 2018 1 commit
-
-
Tianqi Chen committed
-
- 17 Dec, 2017 1 commit
-
-
Andrew Adams committed
-
- 15 Jul, 2017 1 commit
-
-
Tianqi Chen committed
-
- 06 Jul, 2017 1 commit
-
-
* [IR] Add body to AssertStmt * fix lint
Tianqi Chen committed
-
- 22 Jun, 2017 1 commit
-
-
* [LANG] Expose tvm.cast * Update * Add unittest
ziheng committed
-
- 11 Jun, 2017 1 commit
-
-
* Support for batch ComputeOp * Support for batch ComputeOp * Fix CrossThreadReduction * Fix lint * Add UpdateArray, remove support for batch reduce * Tuple input support for reduce * rfactor works with multiple reducer; support multiple reducers with different types * Small fix * Small fix * Change return type of rfactor to Array<Expr> * Fix lint * Improve * Add tutorial * Improve tutorial * Improve tutorial
ziheng committed
-
- 04 May, 2017 1 commit
-
-
Tianqi Chen committed
-
- 26 Apr, 2017 1 commit
-
-
* [LANG] CommReducer * Reorganize c_api * Remove InitValue and Combine; refactor Functor * Make CommReducer an Expr * Make comm_reducer type independent * Make CommReducerNode a Node * Small fix * Refine * Refine front api; add integration testcases for min/max * Fix python * Refine * Fix lint and add example
ziheng committed
-
- 21 Apr, 2017 1 commit
-
-
Tianqi Chen committed
-
- 29 Mar, 2017 1 commit
-
-
Tianqi Chen committed
-
- 29 Jan, 2017 1 commit
-
-
Tianqi Chen committed
-
- 25 Jan, 2017 1 commit
-
-
Tianqi Chen committed
-
- 13 Jan, 2017 1 commit
-
-
* [LANG] Include buffer semnatics, introduce pylint * Refactor inline add support for buffer indexing * fix doc
Tianqi Chen committed
-