- 03 Apr, 2020 1 commit
-
-
* [REFACTOR][TIR] Migrate most of low-level build to use the Pass Manager. - SplitHostDevice - ThreadSync - BindDevice - LowerThreadAllreduce - Provide a temp fix for printing IRModule with PrimFunc before the formal text printer. * Address comments, fix tests. * Fix relay tests * Explicit move
Tianqi Chen committed
-
- 28 Mar, 2020 2 commits
-
-
* [NODE][IR] Introduce StructuralHash for the Unified IR. This PR introduces a new way to handle structural hash for the unified IR. - Each object can now register an optional SEqualHash function, which describes how to reduce its structural equality to sequence of hash values. - Optionally, the object can choose to allow labeling of vars(e.g. function parameters) by calling DefHash - We implemented a non-recursive structural hasher that maintains its own stack to traverse te IR. This PR also improves the hash value property from the previous relay's hash utility. In particular, the graph node mode hashs a DAG differently from a tree by attaching an unique occurence index to each graph node. In all of the test cases so far, structural_hash is consistent with structural_equal. - if structrual(x, y) then structural_hash(x) == structural_hash(y) - if structural_hash(x) == structural_hash(y) then highly likely structural_equal(x, y) - hash no collison is found in our testcases. Ideally we should work on automatically generating these functions in the future. * Fix cases for EnvFunc and Array dims * fix testcase * Update src/node/structural_hash.cc Co-Authored-By: 雾雨魔理沙 <lolisa@marisa.moe> Co-authored-by: 雾雨魔理沙 <lolisa@marisa.moe>
Tianqi Chen committed -
* [NODE][IR] Introduce StructuralEqual Infra for the Unified IR. This PR introduces a new way to handle structural equality for both TIR and relay nodes in an extensive way. - Each object can now register an optional SEqualReduce function, which describes how to reduce its structural equality to another instance into equality of the children. - Optionally, the object can choose to allow remapping of vars(e.g. function parameters) by calling DefEqual - We implemented a non-recursive structural equality checker that recursively traverses the objects and does the structural equality checking. This PR also fixes a few potential problems in previous relay's AlphaEqual. - In particular, the new structural equality relation will be communicative. - It is can be dangerous to use same_as relation to quickly check equality, demonstrated by the following case. (%x, %y) are shared vars between two functions. - function0: fn (%x, %y) { %x + %y } - function1: fn (%y, %x) { %x + %y } The new structural equal is intented to supersede AlphaEqual and AttrsEqual. Follow-up PRs should be performed to redirect the existing usages, and removes the corresponding implementation. * Update the rule to distinguish between graph node and non-graph nodes. * Refactor the test cases to use structural equal. * address comments * Mark more relay::Expr as graph node, fix a testcase issue(was bug that was not caught by previous alpha equal) * Remove unrelated comment * Fix file comment * Address review comment * Relax condition to fit flaky case
Tianqi Chen committed
-
- 20 Mar, 2020 1 commit
-
-
As part of the unified IR refactor. This PR refactors the target codegen to use IRModule containing tir::PrimFuncs. In order to break the refactor into several steps without breaking the codebase, we built an conversion pass to convert Array<LoweredFunc> into IRModule. The follow-up refactors will gradually move the passes covered by IRModule up until we cover all the passes. Then we can remove the additional redundant concepts such as LoweredFunc.
Tianqi Chen committed
-
- 15 Mar, 2020 1 commit
-
-
Tianqi Chen committed
-
- 14 Mar, 2020 1 commit
-
-
This PR introduces tir::PrimFunc which will be used as the TIR function container in the unified IR. Also streamlined the function attributes a bit further. - All common attributes are under tvm::attr - TIR specific attributes are under tvm::tir::attr and comes with a tir prefix - Use stl_style for attributes for now
Tianqi Chen committed
-
- 12 Mar, 2020 1 commit
-
-
* [REFACTOR] Streamline Function Attr interface. There has been quite a few recent changes that depends heavily on the function attr interface. This PR streamlines that interface by introducing two APIs that covers most of the usages. - GetAttr which gets a typed object for a given key - HasNonzeroAttr is a quick helper that calls GetAttr to quickly check an attribute - WithAttr that creates a new function object with the given attr - The API comes with copy on write optimization to avoid multiple copies - We deliberately pick the prefix With(instead of Set) to indicate this function does not mutate the original input. On the python side: - We allow read access via func.attrs (which is a DictAttr) - func.with_attrs to create a new instance with updated attrs. We also get rid of the small wrapper functions and make sure the API centered around the GetAttr and HasNonzeroAttr interface. This PR also changes the function construction to follow the new convention. * Address review comments * Address review comments * Fix doxygen path
Tianqi Chen committed
-
- 14 Feb, 2020 1 commit
-
-
- Move related files into the corresponding location as in C++ - Keep the top-level TVM API backward compatible to make minimum changes in topi
tqchen committed
-
- 12 Feb, 2020 2 commits
-
-
tqchen committed
-
* [REFACTOR][PY][API-CHANGE] establish tvm.ir, migrate corresponding relay files. This PR establishes tvm.ir and migrates the corresponding relay files into the new folder. API Change: - relay.Module -> tvm.IRModule * Update with ADT * Migrate transform * address comments * Migrate module * Migrate json_compact * Migrate attrs * Move LoweredFunc to stmt temporarily * temp migrate container * Finish migrate container
Tianqi Chen 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
-
- 09 Jul, 2018 1 commit
-
-
Tianqi Chen committed
-
- 05 Apr, 2018 1 commit
-
-
* [RPC] Refactor, introduce tracker * [RPC] Change RPC hand shake convention, always get remote key. * fix lint
Tianqi Chen committed
-
- 05 Mar, 2018 1 commit
-
-
* prevent starting of RPC server w/o RPC support * fix indent
eqy committed
-
- 28 Feb, 2018 1 commit
-
-
Lianmin Zheng committed
-
- 20 Jan, 2018 1 commit
-
-
Basic WebGL Backend
Zhixun Tan committed
-
- 30 Nov, 2017 1 commit
-
-
* [CUDA] Enable int64 * [PYTHON] Fix rpc tutorial with opencl * OK * update
Tianqi Chen committed
-
- 12 Oct, 2017 1 commit
-
-
* [RUNTIME] Enable ext_dev type for quick plugin of device * [TEST] Update testcase to cover all computation
Tianqi Chen committed
-
- 18 Sep, 2017 1 commit
-
-
* [RPC] Include rpc session info into context * add type checker in return converison
Tianqi Chen committed
-
- 11 Sep, 2017 1 commit
-
-
* [RUNTIME][RPC] Enable remote linking of device code. * fix build
Tianqi Chen committed
-
- 01 Aug, 2017 1 commit
-
-
Yizhi Liu committed
-
- 15 Jul, 2017 2 commits
-
-
* [EXECUTOR] Enable load executor remotely * [EXECUTOR] Pipeline * Pass bytearray directly * Enable load dynamic library in rpc_server.py * Fix * lint * Return Module from remote side directly * Remove unused header file * Fix * fix
ziheng committed -
Tianqi Chen committed
-
- 14 Jul, 2017 1 commit
-
-
* [RUNTIME][RPC] Change RPCServer to Event Driven Code * fix
Tianqi Chen committed
-
- 04 Jul, 2017 1 commit
-
-
* [DOCS] fix doc builder * fix * fix * fix doc builder
Tianqi Chen committed
-
- 16 Jun, 2017 1 commit
-
-
* [TUTORIAL] Add tutorial for RPC * [TUTORIAL] Update tutorial * [TUTORIAL] Update tutorial * trigger update * [TUTORIAL] Improve build
ziheng committed
-
- 25 May, 2017 1 commit
-
-
Tianqi Chen committed
-
- 22 May, 2017 1 commit
-
-
Tianqi Chen committed
-
- 20 May, 2017 1 commit
-
-
* [RUNTIME] RPC runtime that support run testing on remote device. * Fix ctypes in OSX. * fix lint
Tianqi Chen committed
-