platform/upstream/tvm.git
4 years ago[ONNX] Skip ADD inside Gemm op when vector is zero (#5697)
Balint Cristian [Sat, 30 May 2020 01:10:22 +0000 (04:10 +0300)]
[ONNX] Skip ADD inside Gemm op when vector is zero (#5697)

4 years ago[PatternLang]Conditionally Embedding Constants in Partitioned Functions (#5693)
Matthew Brookhart [Sat, 30 May 2020 01:07:07 +0000 (18:07 -0700)]
[PatternLang]Conditionally Embedding Constants in Partitioned Functions (#5693)

* Embed constants in the partition function if the pattern explicity requests constants

fix rst

fix pylint

* improve comments based on Cody's feedback

4 years agoIn memory_plan, check if value is not None, instead of just checking value as boolean...
notoraptor [Fri, 29 May 2020 23:35:03 +0000 (19:35 -0400)]
In memory_plan, check if value is not None, instead of just checking value as boolean. (#5700)

4 years ago[ONNX]LpPool Support added (#5696)
Samuel [Fri, 29 May 2020 21:29:43 +0000 (02:59 +0530)]
[ONNX]LpPool Support added (#5696)

4 years agoSupport more dtypes for TVMDSOOp (#5694)
tobe [Fri, 29 May 2020 20:58:34 +0000 (04:58 +0800)]
Support more dtypes for TVMDSOOp (#5694)

4 years ago[COMMUNITY] @masahi -> PPMC (#5691)
Tianqi Chen [Fri, 29 May 2020 16:36:19 +0000 (09:36 -0700)]
[COMMUNITY] @masahi -> PPMC (#5691)

4 years ago@zhiics -> PPMC (#5692)
Tianqi Chen [Fri, 29 May 2020 16:35:47 +0000 (09:35 -0700)]
@zhiics -> PPMC (#5692)

4 years ago[REFACTOR][RELAY] move fallback_device to config (#5690)
Zhi [Fri, 29 May 2020 14:52:03 +0000 (07:52 -0700)]
[REFACTOR][RELAY] move fallback_device to config (#5690)

4 years ago[RELAY] Fix segfault in pretty print when ObjectRef is null (#5681)
lhutton1 [Fri, 29 May 2020 14:51:30 +0000 (15:51 +0100)]
[RELAY] Fix segfault in pretty print when ObjectRef is null (#5681)

* [RELAY] Fix segfault in pretty print when ObjectRef is null

Encountered when pretty printing module with function attribute equal to NullValue<ObjectRef>().

Change-Id: I2e7b304859f03038730ba9c3b9db41ebd3e1fbb5

* Add test case

Change-Id: I579b20da3f5d49054823392be80aaf78a055f596

4 years ago[Relay] Fix dataflow_pattern.rewrite() hang if Match in IR (#5680)
lixiaoquan [Fri, 29 May 2020 10:37:05 +0000 (18:37 +0800)]
[Relay] Fix dataflow_pattern.rewrite() hang if Match in IR (#5680)

rewrite() quits only if graph stop changing, but ExprMutator
  always creates new Match node. This patch fixes this.

4 years ago[PYTORCH]Minor bug fixes (#5683)
Samuel [Fri, 29 May 2020 07:16:49 +0000 (12:46 +0530)]
[PYTORCH]Minor bug fixes (#5683)

* [PYTORCH]Minor bug fixes

* Review comment fix, testcase added

* Added testcase for bert model

4 years ago[PatternLang] Add ConstantPattern (#5689)
Cody Yu [Thu, 28 May 2020 23:48:07 +0000 (16:48 -0700)]
[PatternLang] Add ConstantPattern (#5689)

* Add ConstantPattern

* update doc

4 years ago[TIR][REFACTOR] std::string -> String Migration in TIR nodes (#5596)
Neo Chien [Thu, 28 May 2020 08:56:06 +0000 (16:56 +0800)]
[TIR][REFACTOR] std::string -> String Migration in TIR nodes (#5596)

* [TIR][REFACTOR] std::string -> String Migration for Var node and SizeVar Node

* update json_compact.py

4 years ago[TFLITE]Quantize & Dequantize op (#5394)
Samuel [Thu, 28 May 2020 03:10:58 +0000 (08:40 +0530)]
[TFLITE]Quantize & Dequantize op (#5394)

* [TFLITE]Quantize & Dequantize op

* Testcases added

* Review comment fixed

4 years ago[DOC] Improve Pattern Language Docs (#5676)
Cody Yu [Thu, 28 May 2020 03:07:32 +0000 (20:07 -0700)]
[DOC] Improve Pattern Language Docs (#5676)

* [DOC] Improve Pattern Language Docs

* address comments

* address comments

4 years ago[Bugfix] Fix Python debugger segfaults with TVM built with LLVM (#5685)
Junru Shao [Wed, 27 May 2020 20:50:56 +0000 (13:50 -0700)]
[Bugfix] Fix Python debugger segfaults with TVM built with LLVM (#5685)

* Import readline before loading libtvm

* make lint happy

4 years agoFix the shift column for scale_shift_nchw and scale_shift_nhwc in C topi (#5679)
tobe [Wed, 27 May 2020 15:59:02 +0000 (23:59 +0800)]
Fix the shift column for scale_shift_nchw and scale_shift_nhwc in C topi (#5679)

4 years agoCall previous excepthook in tvm_excepthook. (#5675)
notoraptor [Wed, 27 May 2020 01:15:18 +0000 (21:15 -0400)]
Call previous excepthook in tvm_excepthook. (#5675)

* Call previous excepthook in tvm_excepthook.

* Rename prev_excepthook.

* Create a tvm_wrap_excepthook to wrap a given excepthook with tvm custom excepthook work
and call it on system previous excepthook.

* Add docstring.

4 years agoadd a testcase for #5674 (#5677)
Matthew Brookhart [Wed, 27 May 2020 01:14:58 +0000 (18:14 -0700)]
add a testcase for #5674 (#5677)

4 years ago[BYOC] Pattern Language MergeComposite (#5656)
Cody Yu [Tue, 26 May 2020 22:04:01 +0000 (15:04 -0700)]
[BYOC] Pattern Language MergeComposite (#5656)

* Pattern Language MergeComposite

* fix DNNL pattern

* Use builtin binary operator syntax for demo

* Improve unit test

4 years agoadd a check for null function attributes (#5674)
Matthew Brookhart [Tue, 26 May 2020 20:16:13 +0000 (13:16 -0700)]
add a check for null function attributes (#5674)

4 years agoadd tvm.micro pydoc to sphinx (#5661)
Andrew Reusch [Tue, 26 May 2020 18:30:19 +0000 (11:30 -0700)]
add tvm.micro pydoc to sphinx (#5661)

* add tvm.micro pydoc to sphinx

* making build pass and addressing tqchen comments

4 years ago[TF] Support TupleWrapper as direct ancestor of control flow ops (#5639)
lixiaoquan [Tue, 26 May 2020 18:29:29 +0000 (02:29 +0800)]
[TF] Support TupleWrapper as direct ancestor of control flow ops (#5639)

4 years ago[POC][PatternLang]Remove constants from partitioned functions (#5663)
Matthew Brookhart [Tue, 26 May 2020 17:26:31 +0000 (10:26 -0700)]
[POC][PatternLang]Remove constants from partitioned functions (#5663)

* remove constants from partitioned functions

* remove print statements

4 years ago[AutoTVM][TOPI] AutoTVM incorrect measurement (#5511)
Neo Chien [Tue, 26 May 2020 17:25:50 +0000 (01:25 +0800)]
[AutoTVM][TOPI] AutoTVM incorrect measurement (#5511)

* [AutoTVM][TOPI] AutoTVM incorrect measurement

* create new placeholder with converted layout

* update _schedule_winograd

4 years agoenable amd_apu device on vulkan target (#5659)
Mei Ye [Tue, 26 May 2020 16:30:38 +0000 (09:30 -0700)]
enable amd_apu device on vulkan target (#5659)

4 years ago[C++ RPC] Fix C++ RPC build problem on Linux (#5671)
Zhao Wu [Tue, 26 May 2020 15:36:44 +0000 (23:36 +0800)]
[C++ RPC] Fix C++ RPC build problem on Linux (#5671)

4 years ago[Doc] Misc doc fix (#5672)
Zhao Wu [Tue, 26 May 2020 15:15:44 +0000 (23:15 +0800)]
[Doc] Misc doc fix (#5672)

4 years ago[REFACTOR][TIR][API-Change] Migrate BuildConfig to PassContext. (#5668)
Tianqi Chen [Tue, 26 May 2020 03:50:00 +0000 (20:50 -0700)]
[REFACTOR][TIR][API-Change] Migrate BuildConfig to PassContext. (#5668)

* [REFACTOR][TIR] Migrate BuildConfig to PassContext.

This PR migrates the TIR configurations from BuildConfig to the
PassContext used by the unified IR.
Moving forward, PassContext will be the unified way to configure passes in the TVM stack.

Changes

- Refactored TVM_PASS_REGISTER_CONFIG_OPTION to take in the reference type.
- Removed BuildConfig.
- Migrated the passes to use PassContext.

* Update include/tvm/ir/attrs.h

Co-authored-by: Zhi <5145158+zhiics@users.noreply.github.com>
Co-authored-by: Zhi <5145158+zhiics@users.noreply.github.com>
4 years ago[PYTHON] Add buffer name when creating tensor bindings (#5670)
Tianqi Chen [Tue, 26 May 2020 03:19:15 +0000 (20:19 -0700)]
[PYTHON] Add buffer name when creating tensor bindings (#5670)

4 years ago[Relay][Op]Support symbolic TopK, Ones, Zeros and Full (#5459)
Yao Wang [Tue, 26 May 2020 01:09:44 +0000 (18:09 -0700)]
[Relay][Op]Support symbolic TopK, Ones, Zeros and Full (#5459)

* Support symbolic TopK, Ones, Zeros and Full

* Fix pylint

* Add docstring for topk shape func

* Fix grad

* Fix lazy_gradient_init

* Fix parser

* Fix print ir text

* Fix lint

* Improve pattern_util

* Fix topk

* Fix build

* Use Optional for attribute

* Fix clang-format

* Minot fix

* Fix pylint

* Fix build warning

* Fix parser

* Move ToScalar

* Fix lint

* Fix lint

* Make topk shape func as data independent when k is constant.

* Fix lint

* Minor fix

4 years ago[TOPI] Improve CUDA softmax scheduling (#5600)
Wei Pan [Mon, 25 May 2020 16:44:57 +0000 (09:44 -0700)]
[TOPI] Improve CUDA softmax scheduling (#5600)

- Do not use multiple kernels

- Schedule with warp reductions

- Fixed a bug on the lower warp memory pass

- Fixed warp shuffle intrinsics for the nvptx backend.

Signed-off-by: Wei Pan <weip@nvidia.com>
4 years agohandle likely in IRMutatorWithAnalyzer (#5665)
Shizhi Tang [Mon, 25 May 2020 16:39:33 +0000 (00:39 +0800)]
handle likely in IRMutatorWithAnalyzer (#5665)

4 years ago[TIR][BUILD] Remove buffer params from pass config. (#5652)
Tianqi Chen [Sat, 23 May 2020 15:38:00 +0000 (08:38 -0700)]
[TIR][BUILD] Remove buffer params from pass config. (#5652)

Buffer configurations can be passed during construction
and does not need to be part of the build config.

This is a refactor step to simplify the BuildConfig for the PassContext migration.

4 years ago[Relay,Topi][OP] affine_grid and grid_sample (#5657)
Wuwei Lin [Sat, 23 May 2020 04:57:58 +0000 (00:57 -0400)]
[Relay,Topi][OP] affine_grid and grid_sample (#5657)

* [Relay,Topi][OP] affine_grid and grid_sample

* lint

4 years ago[PatternLang] Convert PatternGrouper to do pre-order, non-recursive analysis (#5653)
Matthew Brookhart [Sat, 23 May 2020 03:17:39 +0000 (20:17 -0700)]
[PatternLang] Convert PatternGrouper to do pre-order, non-recursive analysis (#5653)

* make the PatternGrouper iterate over the input Expr in a non-recursive pre-order fasion

* add a comment

4 years agoIncrease bss section size. (#5660)
Andrew Reusch [Sat, 23 May 2020 02:41:14 +0000 (19:41 -0700)]
Increase bss section size. (#5660)

* Likely broken in PR 5590.

4 years agoUpgrade XGBoost to latest (#5658)
Philip Hyunsu Cho [Sat, 23 May 2020 02:40:46 +0000 (19:40 -0700)]
Upgrade XGBoost to latest (#5658)

4 years ago[REFACTOR][IR] Migrate IRModule ObjectRef to not-null (#5654)
ANSHUMAN TRIPATHY [Fri, 22 May 2020 21:32:59 +0000 (03:02 +0530)]
[REFACTOR][IR] Migrate IRModule ObjectRef to not-null (#5654)

4 years agoµtvm debug improvements (#5648)
Andrew Reusch [Fri, 22 May 2020 21:00:48 +0000 (14:00 -0700)]
µtvm debug improvements (#5648)

* Forever loop in UTVMDone to aid debugging

* Use parameter and callback function as a micro debug hook.

 * Previously, users had to uncomment a region of code in
   micro_session.cc and recompile to debug. Now they can pass in a
   key in the micro.Session config:

       config = tvm.micro.device....generate_config()
       config['debug_func'] = _python_launch_gdb
       with micro.Session(config) as sess:
         ....

* clang-format

* Only forever loop on device (on host this blocks unittests)

4 years ago[RUNTIME] Resolve constexpr issue in debug mode. (#5651)
Tianqi Chen [Fri, 22 May 2020 20:36:43 +0000 (13:36 -0700)]
[RUNTIME] Resolve constexpr issue in debug mode. (#5651)

static constexpr is a bit weird before c++17.
They are not inlined by default and does not have symbols after compilation.
It usually isn't a problem when they are inlined(in c++17 they are inlined by default).
But will create compilation error when passed to functions that take (const)references.
This PR fixes the problem so that we can compile on debugmode.

4 years ago[AutoTVM] Update XGBoost verbosity option (#5649)
Tianqi Chen [Fri, 22 May 2020 18:15:24 +0000 (11:15 -0700)]
[AutoTVM] Update XGBoost verbosity option (#5649)

4 years agoHG: Commit message of changeset 6281661. (#5622)
hlu1 [Fri, 22 May 2020 16:38:30 +0000 (09:38 -0700)]
HG: Commit message of changeset 6281661. (#5622)

[Relay] Move compiler_begin/end_op to local static objects

4 years ago[Relay, Topi][OP] Correlation (#5628)
Wuwei Lin [Fri, 22 May 2020 06:00:33 +0000 (02:00 -0400)]
[Relay, Topi][OP] Correlation (#5628)

* [Relay,Topi] Correlation

* fix

* move

* typo

* Update test_topi_correlation.py

4 years agoAdd a check Callback to the Pattern Paritioner (#5646)
Matthew Brookhart [Fri, 22 May 2020 04:35:35 +0000 (21:35 -0700)]
Add a check Callback to the Pattern Paritioner (#5646)

* add a check callback to the paritioner

* fix doc string

* fix unit test spelling

* add a test with types

4 years ago[RELAY][BYOC] Preserve type information in Merge Composite (#5640)
mbaret [Fri, 22 May 2020 02:24:23 +0000 (03:24 +0100)]
[RELAY][BYOC] Preserve type information in Merge Composite (#5640)

Keep the type information when extracting patterns
so that it can be used as part of 'check' functions.

Change-Id: I16cc70c3d013a794d2ceefb5bec815129c7b8825

4 years ago[CI] Add log check to the sphinx gallery docs (#5643)
Tianqi Chen [Fri, 22 May 2020 01:37:58 +0000 (18:37 -0700)]
[CI] Add log check to the sphinx gallery docs (#5643)

* [CI] Add log check to the sphinx gallery docs

This PR add log check to sphinx gallery tutorials to prevent
the case when sphinx failed to capture the error in tutorials.

* Fix the status

4 years ago[Runtime] Introduce runtime::Array (#5585)
Junru Shao [Thu, 21 May 2020 23:27:14 +0000 (16:27 -0700)]
[Runtime] Introduce runtime::Array (#5585)

* Introduce runtime::Array

* Sync with dmlc-core

* Tests added: size, capacity, empty, front, back, push_back, pop_back, insert * 2, erase * 2, resize, reserve, clear

4 years ago[CI] Allow CI_PYTEST_ADD_OPTIONS to be unbound. (#5644)
Tianqi Chen [Thu, 21 May 2020 23:01:19 +0000 (16:01 -0700)]
[CI] Allow CI_PYTEST_ADD_OPTIONS to be unbound. (#5644)

This patch allows the test script to execute normally
when CI_PYTEST_ADD_OPTIONS is not available.

4 years agoRemove unnecessary print (#5642)
Cody Yu [Thu, 21 May 2020 22:09:28 +0000 (15:09 -0700)]
Remove unnecessary print (#5642)

4 years ago[PYTORCH]Padding support (#5638)
Samuel [Thu, 21 May 2020 20:44:17 +0000 (02:14 +0530)]
[PYTORCH]Padding support (#5638)

4 years ago[RUNTIME][VULKAN] Seg fault in WorkspacePool's destructor (#5632) (#5636)
Yi Wang [Thu, 21 May 2020 19:07:54 +0000 (12:07 -0700)]
[RUNTIME][VULKAN] Seg fault in WorkspacePool's destructor (#5632) (#5636)

* [RUNTIME][VULKAN] Seg fault in WorkspacePool's destructor (#5632)
* fixed this issue by changing WorkspacePool's destruction order

* make line < 100 charactors long

4 years ago[DOCS] Fix the QNN TFLite tutorial build (#5641)
Tianqi Chen [Thu, 21 May 2020 17:22:31 +0000 (10:22 -0700)]
[DOCS] Fix the QNN TFLite tutorial build (#5641)

* [TUTORIAL] Fix execution error of TFLite quantized tutorial

* Assign TensorCore to docs build

4 years agoExtend AttrPattern to support CallNode and FunctionNode attributes (#5637)
Matthew Brookhart [Thu, 21 May 2020 03:16:40 +0000 (20:16 -0700)]
Extend AttrPattern to support CallNode and FunctionNode attributes (#5637)

* Extend AttrPattern to support CallNode and FunctionNode attributes

* Update tutorial and add breaks

* add func attr test

4 years ago[TUTORIAL]TFLite QNN Tutorial (#5595)
Samuel [Thu, 21 May 2020 00:39:14 +0000 (06:09 +0530)]
[TUTORIAL]TFLite QNN Tutorial (#5595)

* [TUTORIAL]TFLite QNN Tutorial

* Review comments

4 years ago[RELAY][PYTORCH]Resize3d, Upsample3d op support (#5633)
Samuel [Thu, 21 May 2020 00:35:28 +0000 (06:05 +0530)]
[RELAY][PYTORCH]Resize3d, Upsample3d op support (#5633)

4 years agoLabel Pattern Partitions (#5627)
Matthew Brookhart [Thu, 21 May 2020 00:28:43 +0000 (17:28 -0700)]
Label Pattern Partitions (#5627)

* Label Pattern Partitions with a default label to prevent nested partitions and an optional user supplied-label

* Add node names in topological order to Partitioned attribute

* respond to review comments

* move partition tag into const in attr namespace

4 years agoFix typo in test script (#5635)
Wuwei Lin [Wed, 20 May 2020 22:12:37 +0000 (18:12 -0400)]
Fix typo in test script (#5635)

4 years agoanother cmake fix (#5630)
Thierry Moreau [Wed, 20 May 2020 22:12:28 +0000 (15:12 -0700)]
another cmake fix (#5630)

4 years ago[NODE][PASS] Introduce config to PassContext. (#5631)
Tianqi Chen [Wed, 20 May 2020 21:54:11 +0000 (14:54 -0700)]
[NODE][PASS] Introduce config to PassContext. (#5631)

This PR introduces a new config field to the PassContext
to allow it store arbitary config values.

To make sure that the config is validated, we allow each pass
to register the config key they would expect and the corresponding types.

We also introduce a CreateObject from Map<str, Object> to allow config creation
from a json-nest(like in vscode) in python.

We added an example of UnrollLoopConfig.

Followup PR should migrate the passes to use the new config field.

4 years ago[RELAY][BYOC] Fix the creation of tuple of tuples in PartitionGraph (#5616)
manupa-arm [Wed, 20 May 2020 15:27:54 +0000 (16:27 +0100)]
[RELAY][BYOC] Fix the creation of tuple of tuples in PartitionGraph (#5616)

* [RELAY][BYOC] Fix the creation of tuple of tuples in PartitionGraph

If the annotated compiler region contains multiple outputs where
some of the outputs are tuple output, the current PartitionGraph will
create tuple of tuples. This will not be handled by the runtime.
This commit flattens the such tuples and re-create them after the
call site of the partitioned function.

Change-Id: I4e7ccbda73c129a9f4ae8705d5c9f2af6ab99ef6

* [RELAY][BYOC] Fix the creation of tuple of tuples in PartitionGraph

    *code refactor : extracted the passes as a sequential

Change-Id: If4bc00b00a96fa244358d602fc1a361498342f46

* [RELAY][BYOC] Fix the creation of tuple of tuples in PartitionGraph
   *further refactor

Change-Id: I69ddd0e835e88ef97da8a3a3b949be3f7b619c02

* [RELAY][BYOC] Fix the creation of tuple of tuples in PartitionGraph
    *class description comment amended

Change-Id: I55720bf0467c96e979e1ab56c40d9d209e0f9456

4 years ago[DOCS] Move the api docs to the api subfolder (#5626)
Tianqi Chen [Wed, 20 May 2020 04:40:06 +0000 (21:40 -0700)]
[DOCS] Move the api docs to the api subfolder (#5626)

* [DOCS] Move the api docs to the api subfolder

* Update numpydoc location

* Ignore 403

* make sure folder exists

4 years ago[BYOC][MergeComposite] if root->args[i] isn't a CallNode, then Donwcast<Call> will...
windclarion [Wed, 20 May 2020 01:10:50 +0000 (09:10 +0800)]
[BYOC][MergeComposite] if root->args[i] isn't a CallNode, then Donwcast<Call> will check fail (#5623)

we needn't execute L131 "call_map->Set(arg, new_arg)", because when arg
is CallNode and root->args[i] is not CallNode, new_arg will be a null
pointer. There is no point in caching null pointer.

Signed-off-by: windclarion <windclarion@gmail.com>
4 years ago[PYTORCH]ReflectionPad2d op (#5624)
Samuel [Wed, 20 May 2020 01:10:23 +0000 (06:40 +0530)]
[PYTORCH]ReflectionPad2d op (#5624)

4 years ago[MXNET]MaxPool3d and AvgPool3d Ops support added (#5614)
Samuel [Wed, 20 May 2020 01:09:44 +0000 (06:39 +0530)]
[MXNET]MaxPool3d and AvgPool3d Ops support added (#5614)

4 years ago[Frontend][Tensorflow] Gather nd bug fix for one dim support in tensorflow (#5588)
ANSHUMAN TRIPATHY [Tue, 19 May 2020 19:45:02 +0000 (01:15 +0530)]
[Frontend][Tensorflow] Gather nd bug fix for one dim support in tensorflow (#5588)

* [Frontend][Tensorflow] Gather_nd one dim support added

* Test case added

* Doc error handled

* Review comment handled: reverting new attr introduced

* Check added at mxnet frontend

* Doc error handled

* TFLite test case failure resolved

4 years agoFix three typos (#5620)
Liyong Zeng [Tue, 19 May 2020 14:10:01 +0000 (22:10 +0800)]
Fix three typos (#5620)

Co-authored-by: Zeng Liyong <liyong.zeng@streamcomputing.com>
4 years ago[IOS] Fix build error of iOS RPC (#5621)
MORITA Kazutaka [Tue, 19 May 2020 14:09:18 +0000 (23:09 +0900)]
[IOS] Fix build error of iOS RPC (#5621)

* [IOS] Fix build error of iOS RPC

- Update to C++14
- Use the latest RPC protocol
- Resolve CoreML dependency

* Fix clang-format error

4 years ago[KERAS]Global MaxPool3d and AvgPool3d support (#5098)
Samuel [Tue, 19 May 2020 12:24:25 +0000 (17:54 +0530)]
[KERAS]Global MaxPool3d and AvgPool3d support (#5098)

4 years ago[Relay][Refactor][std::string --> String] Relay updated with String (#5578)
ANSHUMAN TRIPATHY [Mon, 18 May 2020 22:13:11 +0000 (03:43 +0530)]
[Relay][Refactor][std::string --> String] Relay updated with String (#5578)

4 years ago[Relay]Improve Shape Func handling for Tuple inputs (#5467)
Yao Wang [Mon, 18 May 2020 19:27:32 +0000 (12:27 -0700)]
[Relay]Improve Shape Func handling for Tuple inputs (#5467)

* Improve Shape Func handling for Tuple inputs

* Fix lint

* Improve

* Fix build

4 years ago[BYOC] Remove kCompiler attr from external functions (#5615)
lhutton1 [Mon, 18 May 2020 17:47:56 +0000 (18:47 +0100)]
[BYOC] Remove kCompiler attr from external functions (#5615)

Functions destined for external codegen keep their kCompiler attribute which means SkipFunction returns true when running a pass over such functions during the codegen step. This makes sense during graph partitioning, however when lowering the functions for codegen the is no reason to keep this behaviour.

Allowing this behaviour will mean a codegen can run a pass on functions only intended for one 3rd party library. Specifically, allowing pre-processing of a series of sub-graphs right before it is passes through codegen. This helps ensure that the functions destined for the 3rd party library are in the expected format. For example, we may want to ensure that these functions have a kernel layout of OHWI because the 3rd party library only supports OHWI. This wouldn't be possible before partitioning the graph as we don't know how the graph will be partitioned ahead of time.

Change-Id: Ia68b9da335ef1acfc405a8528aac823de60a65c2

4 years agofix pattern topological order (#5612)
Matthew Brookhart [Mon, 18 May 2020 17:12:49 +0000 (10:12 -0700)]
fix pattern topological order (#5612)

4 years agoFix a typo. (#5611)
Liyong Zeng [Mon, 18 May 2020 14:30:15 +0000 (22:30 +0800)]
Fix a typo. (#5611)

Co-authored-by: Zeng Liyong <liyong.zeng@streamcomputing.com>
4 years ago[CUDA] Fix codegen for warp shuffle intrinsics (#5606)
Shizhi Tang [Mon, 18 May 2020 02:55:05 +0000 (10:55 +0800)]
[CUDA] Fix codegen for warp shuffle intrinsics (#5606)

* fix shfl intrin

* improve test_lower_warp_memory_cuda_half_a_warp

4 years ago[TFLITE]GATHER_ND (#5508)
Dhruva Ray [Mon, 18 May 2020 02:48:17 +0000 (08:18 +0530)]
[TFLITE]GATHER_ND (#5508)

Signed-off-by: Dhruva Ray <dhruvaray@gmail.com>
4 years ago[REFACTOR][IR] Streamline ir/op Registry (#5609)
Tianqi Chen [Sun, 17 May 2020 22:43:11 +0000 (15:43 -0700)]
[REFACTOR][IR] Streamline ir/op Registry (#5609)

* [REFACTOR][IR] Streamline ir/op Registry

This PR refactors the attrregistry mechanism in the ir/op into
a separate common base. The common base will provide a foundation
for other attr related registries such as target and pass.

We also streamlines the terminology of the registry API.

- Use AttrMap for the column maps returned by the registry
- Use RegEntry to refer to the registry entry.

* Address review comments

4 years agofix rpc server bug on VTA (#5607)
Thierry Moreau [Sat, 16 May 2020 16:08:59 +0000 (09:08 -0700)]
fix rpc server bug on VTA (#5607)

4 years ago[PYTORCH]Matmul fix for batch_matmul (#5604)
Samuel [Fri, 15 May 2020 21:43:23 +0000 (03:13 +0530)]
[PYTORCH]Matmul fix for batch_matmul (#5604)

4 years ago[PYTORCH]ImplicitTensorToNum support added (#5603)
Samuel [Fri, 15 May 2020 21:41:57 +0000 (03:11 +0530)]
[PYTORCH]ImplicitTensorToNum support added (#5603)

4 years agoAdd debug mode to tempdir() (#5581)
Andrew Reusch [Fri, 15 May 2020 21:39:45 +0000 (14:39 -0700)]
Add debug mode to tempdir() (#5581)

4 years ago[LLVM] Represent alignment information in LLVM IR (#5598)
Krzysztof Parzyszek [Fri, 15 May 2020 21:39:21 +0000 (16:39 -0500)]
[LLVM] Represent alignment information in LLVM IR (#5598)

4 years agoFix TVMArray layout on device (#5599)
Andrew Reusch [Fri, 15 May 2020 21:38:39 +0000 (14:38 -0700)]
Fix TVMArray layout on device (#5599)

4 years ago[Reduction] Fix cross thread redunction (#5551)
Wei Pan [Fri, 15 May 2020 21:28:19 +0000 (14:28 -0700)]
[Reduction] Fix cross thread redunction (#5551)

- The predictions were not correctly applied after transformation.
  This leads to normal reduction itervar appearing outside of the loop,
  which is undefined. See detailed comments.

Signed-off-by: Wei Pan <weip@nvidia.com>
4 years agoPattern Language, Matcher, Rewriter, and Function Paritioner (#5231)
Matthew Brookhart [Fri, 15 May 2020 19:42:51 +0000 (12:42 -0700)]
Pattern Language, Matcher, Rewriter, and Function Paritioner (#5231)

4 years agoAdd ostream formatters for TargetPtr/TargetVal. (#5592)
Andrew Reusch [Fri, 15 May 2020 16:27:44 +0000 (09:27 -0700)]
Add ostream formatters for TargetPtr/TargetVal. (#5592)

4 years ago[Relay][VM] Memory planner (part 1) (#5144)
Jared Roesch [Fri, 15 May 2020 04:46:21 +0000 (21:46 -0700)]
[Relay][VM] Memory planner (part 1) (#5144)

* Start on memory planning

WIP

Move to test_memory_passes.py

Work on memory planning

Post-rebase and VM changes

Plumb through the offsets

Basic tests all pass, fix offset to data buffer.

Fix compile errors

Fix ws

Apply suggestions from code review

Co-Authored-By: Haichen Shen <shenhaichen@gmail.com>
Address CR

Update src/runtime/vm/vm.cc

Co-Authored-By: Haichen Shen <shenhaichen@gmail.com>
Fix another comment

Fix lint

Fix

Fix

Fix

Lint is done?

Fix

More fix

Trying to debug

No clue

Fix lint

* Fix docs

* Disable aggressive constant eval

* It works

* Fix lint

* Found issue with dynamic

* Fix the pass, but runtime segfaults

* fix scalar tensor, test_any_elemwise passes

* Fix split pass

* Fix 0-rank issues

* Fix

* debug

* apply Haichen's patch and clean up

* lintgit add .

* fix serializer and test_tyck_alloc_tensor test

* Fix the constant lift pass in presence of closures

* Restore old finder

* Fix rebase issues

* Fix

* Fix

* Fix issue coercing the shapes incorrectly from i64 to i32

* Fix linting

* Fix clang format

* Format memory.cc

* Fix 0-rank case

* Add fix for (0,) shape

* Ignore shapes for now

* Apply suggestions from code review

Co-authored-by: Zhi <5145158+zhiics@users.noreply.github.com>
* Update src/runtime/vm/executable.cc

Co-authored-by: Zhi <5145158+zhiics@users.noreply.github.com>
* Fix

* lint

Co-authored-by: Zhi Chen <chzhi@amazon.com>
Co-authored-by: Zhi <5145158+zhiics@users.noreply.github.com>
4 years ago[TFLite Runtime] Fix bug and re-enable RPC execution test (#5436)
Michal Piszczek [Fri, 15 May 2020 03:16:57 +0000 (20:16 -0700)]
[TFLite Runtime] Fix bug and re-enable RPC execution test (#5436)

4 years agoOverestimate binary size for microTVM compiled binaries. (#5590)
Andrew Reusch [Thu, 14 May 2020 20:33:43 +0000 (13:33 -0700)]
Overestimate binary size for microTVM compiled binaries. (#5590)

* Overestimate binary size for microTVM compiled binaries.

 * Currently uTVM binary section sizes are computed by summing the
   sizes of all symbols in the section.
 * This method produces errors because it presumes the linker works in
   a particular way, rather than analyzing the linked output.
 * As we intend to move away from linking inside TVM (RFC
   forthcoming), just using this stopgap to make forward progress
   until then.

* address weberlo comments

* fix regression (use 64 bit word size)

4 years ago[DOCS] Improve document in reflection (#5593)
Liangfu Chen [Thu, 14 May 2020 14:59:53 +0000 (22:59 +0800)]
[DOCS] Improve document in reflection (#5593)

4 years agoFix JSON graph dumping. (#5591)
Andrew Reusch [Thu, 14 May 2020 01:20:26 +0000 (18:20 -0700)]
Fix JSON graph dumping. (#5591)

* Previously this function placed a JSON-escaped string containing
   the JSON-encoded graph.

4 years ago[Hexagon] One more fix for concurrency count (#5589)
Krzysztof Parzyszek [Thu, 14 May 2020 00:16:14 +0000 (19:16 -0500)]
[Hexagon] One more fix for concurrency count (#5589)

4 years ago[MXNET]abs, round, reciprocal, sign, softsign, hard_sigmoid (#5587)
Samuel [Wed, 13 May 2020 21:01:36 +0000 (02:31 +0530)]
[MXNET]abs, round, reciprocal, sign, softsign, hard_sigmoid (#5587)

4 years ago[Relay][Transform] Safe check added for Merge Composite (#5562)
ANSHUMAN TRIPATHY [Wed, 13 May 2020 20:16:49 +0000 (01:46 +0530)]
[Relay][Transform] Safe check added for Merge Composite (#5562)

4 years agoAdd a quantized conv2 unit test for the tflite front-end (#5558)
Giuseppe Rossini [Wed, 13 May 2020 18:11:15 +0000 (19:11 +0100)]
Add a quantized conv2 unit test for the tflite front-end (#5558)

Signed-off-by: Giuseppe Rossini <giuseppe.rossini@arm.com>
4 years ago[RELAY][Convert Layout] Specify additional layouts in convert layout pass (#5422)
lhutton1 [Wed, 13 May 2020 18:08:32 +0000 (19:08 +0100)]
[RELAY][Convert Layout] Specify additional layouts in convert layout pass (#5422)

* [RELAY] Specify additional layouts in convert layout pass

* This patch means that you can specify an additional layout, rather than using the layout chosen by default during conversion.
* This is specifically useful for external codegen when a 3rd party library needs to target a specific kernel layout for example.

Change-Id: I3ef9cf45ead574801870a38af9768f93e29aab10

* Use mapping of op name to list of desired layouts

Change-Id: Ibd691a3cb93e73a394f36112668ad52a84c7d5a2

* Fix issue with code block

Change-Id: Ibb4e38c05ad4312b7dea845be699b8d5d57e0a94

* Address comments, Improve tutorial

Change-Id: Ib824eead329d551c338234de3b2d814693afd0ec

* Fix linting

Change-Id: Ie9e1891f590b3a7496a56ff8362cdda9d4b5fa75

* Test uses NCHW default layout. Unrelated issue with NHWC.

Change-Id: I1c16f0db73db56f5e9536db3fe5eb2624c3b595c

* Fix mistake in tutorial

Change-Id: I944041245d27af262dc96f1cd8117f1f19272062

* Address multiple comments

Change-Id: If33a1e34acd8fc37d1c7797ee189a6448a392672

* Improve tutorial

Change-Id: Ib04142c94c7958ab5067947d2ff4c84354e3d0c5

* Fix Clang-format

Change-Id: Ieff39e3f0817d22579c68b3287e972a3b0fcfbc8

4 years agoFix the runtime raise error (#5586)
LiangLiu [Wed, 13 May 2020 15:49:21 +0000 (23:49 +0800)]
Fix the runtime raise error (#5586)

4 years agoAdd prim::device op (#5584)
Candy [Wed, 13 May 2020 07:07:31 +0000 (15:07 +0800)]
Add prim::device op (#5584)

4 years ago[RELAY][TF] Support symbolic newshape for Reshape (#5429)
lixiaoquan [Wed, 13 May 2020 06:37:33 +0000 (14:37 +0800)]
[RELAY][TF] Support symbolic newshape for Reshape (#5429)

* [RELAY][TF] Support symbolic newshape for Reshape

* Only need to pass data

* Use MakeReshape() in Reshape()

* Change newshape to Expr

* Create a template for Array<T>

* Fuse reshape when newshape is constant

* Make newshape Optional

* Use bool() of Optional

Co-authored-by: Li Xiaoquan <xiaoquan.li@denglin.ai>
4 years ago[Relay] Fixed bug in attribute parsing for pool layers. (#5582)
Josh Fromm [Wed, 13 May 2020 06:23:56 +0000 (23:23 -0700)]
[Relay] Fixed bug in attribute parsing for pool layers. (#5582)

* Fixed pooling bug.

* Added tests and fixed more cases.