platform/upstream/tvm.git
4 years ago[Relay] Setting Legalize opt_level to 1. (#4198)
Animesh Jain [Mon, 28 Oct 2019 18:26:20 +0000 (11:26 -0700)]
[Relay] Setting Legalize opt_level to 1. (#4198)

4 years agoFix type var docs (#4208)
Logan Weber [Mon, 28 Oct 2019 15:03:32 +0000 (08:03 -0700)]
Fix type var docs (#4208)

4 years ago[RUNTIME] Separate runtime related contrib into runtime/contrib (#4207)
Tianqi Chen [Sun, 27 Oct 2019 20:41:20 +0000 (16:41 -0400)]
[RUNTIME] Separate runtime related contrib into runtime/contrib (#4207)

4 years ago[VTA][Chisel] TSIM VTA Source Refactor (#4163)
Benjamin Tu [Sun, 27 Oct 2019 00:06:49 +0000 (17:06 -0700)]
[VTA][Chisel] TSIM VTA Source Refactor (#4163)

* app init push

* fix on readme

* change name, add bit serial explanantion

* rm serialLoadMM, change doc

* syntax change for readme

* add parallel test functionality

* fix readme

* add python doc

* syntax

* init commit

* fix empty line

* fix typo

4 years ago[Relay][Frontend][ONNX] Add support for op Where (#4184)
Jon Soifer [Sun, 27 Oct 2019 00:05:22 +0000 (17:05 -0700)]
[Relay][Frontend][ONNX] Add support for op Where (#4184)

* Add support for op Where

* Update impl version

4 years ago[Relay][Params] Add APIs for storing and retrieving parameters from individual functi...
Jared Roesch [Sun, 27 Oct 2019 00:05:03 +0000 (17:05 -0700)]
[Relay][Params] Add APIs for storing and retrieving parameters from individual functions. (#4194)

* Add support for attaching params

* Fix types

* Fix test

4 years ago[Relay][Training] Add checkpoint annotation for checkpointing memory optimization...
Altan Haan [Sun, 27 Oct 2019 00:04:42 +0000 (17:04 -0700)]
[Relay][Training] Add checkpoint annotation for checkpointing memory optimization (#4146)

* add checkpoint annotation for checkpointing memory optimization

* add alpha-equivalence checkpoint test and fix gradient type issue

* fix build issues

* ignore checkpoint annotation when checking missing gradients

* refactor, fix checkpoint compute for tuple and add tests

4 years ago[hotfix] missing include headers (#4204)
Zhi [Fri, 25 Oct 2019 22:47:45 +0000 (15:47 -0700)]
[hotfix] missing include headers (#4204)

4 years ago[Relay] crossentropy_with_logits and its gradient (#4075)
雾雨魔理沙 [Fri, 25 Oct 2019 14:54:29 +0000 (07:54 -0700)]
[Relay] crossentropy_with_logits and its gradient (#4075)

* save

* lint

4 years ago[TOPI][x86] Legalize - Support int8xint8 convolution to use VNNI instructions. (...
Animesh Jain [Fri, 25 Oct 2019 06:24:25 +0000 (23:24 -0700)]
[TOPI][x86] Legalize - Support int8xint8 convolution to use VNNI instructions. (#4196)

4 years agohotfix the ci (#4199)
Tianqi Chen [Thu, 24 Oct 2019 22:49:24 +0000 (15:49 -0700)]
hotfix the ci (#4199)

4 years ago[NODE][REFACTOR] Refactor reflection system in node. (#4189)
Tianqi Chen [Thu, 24 Oct 2019 20:40:04 +0000 (13:40 -0700)]
[NODE][REFACTOR] Refactor reflection system in node. (#4189)

* [NODE][REFACTOR] Refactor reflection system in node.

- Removed the old Node, Node is now just an alias of runtime::Object
- Introduce ReflectionVTable, a new columnar dispatcher to support reflection
  - This allows us to remove vtable from most node objects
  - The VisitAttrs are registered via TVM_RESGITER_NODE_TYPE,
    they are no longer virtual.
- Consolidated serialization and reflection features into node.

* Explicit type qualification when calling destructor.

* Fix SPIRV, more comments

4 years agoTensorCore Support using Intrinsic (#4136)
Siyuan Feng [Thu, 24 Oct 2019 19:04:37 +0000 (12:04 -0700)]
TensorCore Support using Intrinsic (#4136)

* add tensor core support

* avoid memory bank conflict

* fix thread sync & better performance

* better performance

* add schedule test for conv2d

* extend into BatchMatMul

* support config fragment shape and layout using intrinsic

* add TensorCore tutorial

* add int support and fix lint

* address comment

* add 32*16*8 TensorCore test

* fix wmma include logic

4 years ago[TOPI] Tunable Template for Conv2D HWCN on CUDA (#4168)
Cody Hao Yu [Thu, 24 Oct 2019 19:03:15 +0000 (12:03 -0700)]
[TOPI] Tunable Template for Conv2D HWCN on CUDA (#4168)

* support conv2d HWCN in AutoTVM and Relay

* fix lint

* fix comments and unit tests

4 years ago[Relay] Fix memory leak in the interpreter (#4155)
雾雨魔理沙 [Thu, 24 Oct 2019 18:50:25 +0000 (11:50 -0700)]
[Relay] Fix memory leak in the interpreter (#4155)

* save

lint

* address reviewer comment

4 years agoAdd parser support for SUM tflite operator (#4182)
Ina Dobreva [Thu, 24 Oct 2019 16:58:22 +0000 (17:58 +0100)]
Add parser support for SUM tflite operator (#4182)

4 years ago[relay] use time_evaluator for measurement (#4191)
Zhi [Thu, 24 Oct 2019 16:56:58 +0000 (09:56 -0700)]
[relay] use time_evaluator for measurement (#4191)

4 years ago[Documentation]Fix example code in comment of tvm.build_module.build() (#4195)
optima2005 [Thu, 24 Oct 2019 16:56:00 +0000 (00:56 +0800)]
[Documentation]Fix example code in comment of tvm.build_module.build() (#4195)

* Fix example code in comment of tvm.build_module.build()

* Update build_module.py

4 years agoSplit adaptive_pool2d_avg into sum and div (#4186)
Yao Wang [Thu, 24 Oct 2019 15:37:56 +0000 (08:37 -0700)]
Split adaptive_pool2d_avg into sum and div (#4186)

4 years ago[cmake][ANTLR] Support setting path to ANTLR jar (#4176)
Jon Soifer [Thu, 24 Oct 2019 05:16:08 +0000 (22:16 -0700)]
[cmake][ANTLR] Support setting path to ANTLR jar (#4176)

* Support setting path to ANTLR jar

* Update comment

4 years agoRevert "[Relay][QNN] Add unit test for int8 (#4159)" (#4192)
Tianqi Chen [Thu, 24 Oct 2019 04:59:58 +0000 (21:59 -0700)]
Revert "[Relay][QNN] Add unit test for int8 (#4159)" (#4192)

This reverts commit 6f9d028b80f9e41fd577b5c6a7229cafcfc72173.

4 years ago[DOCS] Add TensorFlow frontend docs (#4154)
Jon Soifer [Thu, 24 Oct 2019 03:12:47 +0000 (20:12 -0700)]
[DOCS] Add TensorFlow frontend docs (#4154)

* Start to update TF frontend docs

* Add rst

* Remove markdown

* Update wording

* Resolve comments

4 years agoAdd support and testing for tf.assert (as no-op) and tf.no_op to TF Relay frontend...
Bjarke Hammersholt Roune [Wed, 23 Oct 2019 20:53:03 +0000 (13:53 -0700)]
Add support and testing for tf.assert (as no-op) and tf.no_op to TF Relay frontend. (#4172)

4 years ago[rpc] use callback func to do send & recv (#4147)
Yizhi Liu [Wed, 23 Oct 2019 18:02:34 +0000 (02:02 +0800)]
[rpc] use callback func to do send & recv (#4147)

* [rpc] use callback func to do send & recv. don't get fd from sock as it is deprecated in java

* fix java build

* fix min/max macro define in windows

* keep the old rpc setup for py

* add doc for CallbackChannel

4 years ago[Pass] Remove dead code (#4177)
Wei Chen [Wed, 23 Oct 2019 02:13:55 +0000 (19:13 -0700)]
[Pass] Remove dead code (#4177)

4 years ago[Relay][Frontend][TF] Fix Size operator (#4175)
Jon Soifer [Tue, 22 Oct 2019 23:37:53 +0000 (16:37 -0700)]
[Relay][Frontend][TF] Fix Size operator (#4175)

* [Relay][Frontend][TF] Fix Size operator

* Uncomment tests

4 years ago[TOPI] Added support for Mali Bifrost target (#4047)
mbarrett97 [Tue, 22 Oct 2019 20:49:17 +0000 (21:49 +0100)]
[TOPI] Added support for Mali Bifrost target (#4047)

4 years agomerge extract_from_program and extract_from_multiple_progam (#4173)
Cody Hao Yu [Tue, 22 Oct 2019 20:26:04 +0000 (13:26 -0700)]
merge extract_from_program and extract_from_multiple_progam (#4173)

4 years agoadd missing gradient check to gradient pass (#4169)
Altan Haan [Tue, 22 Oct 2019 06:13:55 +0000 (23:13 -0700)]
add missing gradient check to gradient pass (#4169)

4 years ago[relay][vm] Reuse allocated device memory (#4170)
Zhi [Tue, 22 Oct 2019 06:13:35 +0000 (23:13 -0700)]
[relay][vm] Reuse allocated device memory (#4170)

4 years ago[Relay][QNN] Add unit test for int8 (#4159)
Zhi [Mon, 21 Oct 2019 23:16:45 +0000 (16:16 -0700)]
[Relay][QNN] Add unit test for int8 (#4159)

* [bugfix][codegen] fix casting bug in llvm codegen

* update example

* retrigger ci

* check llvm version

4 years ago[Relay][Pass] Count MAC for BatchMatMul (#4157)
Haichen Shen [Mon, 21 Oct 2019 20:40:55 +0000 (13:40 -0700)]
[Relay][Pass] Count MAC for BatchMatMul (#4157)

* count MAC for BatchMatMul

* update doc

4 years agoFix missspelling (#4166)
Monkeyking [Mon, 21 Oct 2019 16:05:26 +0000 (00:05 +0800)]
Fix missspelling (#4166)

FIX "After connecting he usb" with "After connecting the usb"

4 years agoAdd support for quantized multiply to Relay (#4141)
ekalda [Mon, 21 Oct 2019 14:07:39 +0000 (15:07 +0100)]
Add support for quantized multiply to Relay (#4141)

This patch adds multiply operator for quantized tensors.
The details of the quantized multiplication are outlined
in the code.

This builds on pull request 3927 and includes the changes
Animesh mentions in the comments on that request.

Change-Id: I555715b53d0266a91d5c03dc3dfe8fc31e7ce4e1

4 years ago[CI] Move golang tests to the end (#4164)
Tianqi Chen [Mon, 21 Oct 2019 03:29:32 +0000 (20:29 -0700)]
[CI] Move golang tests to the end (#4164)

4 years ago[REFACTOR][NODE][RUNTIME] Move Node to the new Object protocol. (#4161)
Tianqi Chen [Mon, 21 Oct 2019 01:30:41 +0000 (18:30 -0700)]
[REFACTOR][NODE][RUNTIME] Move Node to the new Object protocol. (#4161)

* [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

4 years ago[Runtime] Enable option to use OpenMP thread pool (#4089)
Haichen Shen [Sun, 20 Oct 2019 17:40:10 +0000 (10:40 -0700)]
[Runtime] Enable option to use OpenMP thread pool (#4089)

4 years ago[Refactor] Rename Datatype to ADT (#4156)
Wei Chen [Sun, 20 Oct 2019 04:57:50 +0000 (21:57 -0700)]
[Refactor] Rename Datatype to ADT (#4156)

We think it will reduce the confusion with the meaning.

https://discuss.tvm.ai/t/discuss-consider-rename-vm-datatype/4339

4 years ago[CI] Update cpu docker (#4153)
Tianqi Chen [Fri, 18 Oct 2019 23:15:52 +0000 (16:15 -0700)]
[CI] Update cpu docker (#4153)

4 years agoAdd lift_if_then_else pass (#3865)
Yao Wang [Fri, 18 Oct 2019 22:22:37 +0000 (15:22 -0700)]
Add lift_if_then_else pass (#3865)

* Add LiftIfThenElse pass

* Add more comments

* Rename and refactor

* Add description for internal data structure

* Rename a test

* Minor change

* Address comments

* Improve update_for

4 years ago[QNN][TFLite] Parsing QNN Add op. Adding MobilenetV2. (#4142)
Animesh Jain [Fri, 18 Oct 2019 17:51:15 +0000 (10:51 -0700)]
[QNN][TFLite] Parsing QNN Add op. Adding MobilenetV2. (#4142)

4 years ago[CI] Pin NNPack pthreadtools version (#4152)
Tianqi Chen [Fri, 18 Oct 2019 16:49:37 +0000 (09:49 -0700)]
[CI] Pin NNPack pthreadtools version (#4152)

4 years agoFix typo (#4144)
Gus Smith [Fri, 18 Oct 2019 15:19:32 +0000 (08:19 -0700)]
Fix typo (#4144)

4 years ago[Relay][Frontend][TF] Add tensor array ops (#3798)
Wei Chen [Fri, 18 Oct 2019 05:41:34 +0000 (22:41 -0700)]
[Relay][Frontend][TF] Add tensor array ops (#3798)

* [Relay][Frontend][TF] Add tensor array ops

* rename

* delete test

* Move utility function

* Refactor

* fix tensor array ops

* fix test

* fix rebase

* Fix serializer bug

* Improve tf convert name lookup to use prelude api

* Fix lint

* Fix test

4 years ago[relay][vm] Separate VM runtime with executable (#4100)
Zhi [Thu, 17 Oct 2019 20:25:08 +0000 (13:25 -0700)]
[relay][vm] Separate VM runtime with executable (#4100)

* [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

4 years ago[PATCH] Fix undefined __floatdihf in libtvmruntime.so on aarch64. (#4119)
lhutton1 [Thu, 17 Oct 2019 17:05:10 +0000 (18:05 +0100)]
[PATCH] Fix undefined __floatdihf in libtvmruntime.so on aarch64. (#4119)

Arm architecture provides optional FP16 floating point support in two alternative formats, IEEE and an an alternative Arm format.

The ACLE (Arm C Language Extension) defined preprocessor symbol __ARM_FP16_FORMAT_IEEE can be used to distinguish between implementations providing IEEE and the Arm alternative format, but cannot, on its own, be used to determined if FP16 HW support is actually present.

Testing this preprocessor symbol can lead to undefined __floatdihf at runtime on an aarch64 target where no FP16 HW is present.

The relevant preprocessor symbol to determine whether FP16 HW support is present in the target is __ARM_FEATURE_FP16_SCALAR_ARITHMETIC, this symbol implies  __ARM_FP16_FORMAT_IEEE.

The relevant preprocessor symbols are defined by the ACLE standard, section 5.5.21 16-bit floating-point data processing operations, https://static.docs.arm.com/101028/0008/Q2-ACLE_2019Q2_release-0008.pdf

4 years ago[DOCKER] Pin torchvision==0.4.1 (#4140)
Marcus Shawcroft [Thu, 17 Oct 2019 17:04:46 +0000 (18:04 +0100)]
[DOCKER] Pin torchvision==0.4.1 (#4140)

The existing sequence of pip install commands fetches and installs
torch==1.0.1.post2 then fetches an unpinned version of torchvision,
recent torchvision packages hardwire the specific torch version they
depend on, the overall effect is that we install a pinned torch
version then replace it with whatever version the torchvision package
depends on.

The most recent torchvision==0.4.1 package results in some test case
failures.

This patch pins torchvision back to 0.4.0, the most recent version
that the test suite worked.  Removing the explicit torch install
because it is implied and pinned as dependency of torchvision.

Change-Id: Ib30bf6aed79ff130ea15ef5134fefb0508790574

4 years ago[TOPI][x86] Cascade lake support. (#4123)
Animesh Jain [Thu, 17 Oct 2019 16:31:58 +0000 (09:31 -0700)]
[TOPI][x86] Cascade lake support. (#4123)

* [TOPI][x86] Cascade lake support.

* Jenkins test debug 1.

* Testing cascade lake alone.

4 years ago[Relay] Improve build error when no lowered funcs are produced (#4132)
Logan Weber [Thu, 17 Oct 2019 16:27:57 +0000 (09:27 -0700)]
[Relay] Improve build error when no lowered funcs are produced (#4132)

* Improve build error when no lowered funcs

* Switch from fatal to warning

4 years ago[RUNTIME] Refactor object python FFI to new protocol. (#4128)
Tianqi Chen [Wed, 16 Oct 2019 22:24:23 +0000 (15:24 -0700)]
[RUNTIME] Refactor object python FFI to new protocol. (#4128)

* [RUNTIME] Refactor object python FFI to new protocol.

This is a pre-req to bring the Node system under object protocol.
Most of the code reflects the current code in the Node system.

- Use new instead of init so subclass can define their own constructors
- Allow register via name, besides type idnex
- Introduce necessary runtime C API functions
- Refactored Tensor and Datatype to directly use constructor.

* address review comments

4 years agoUpdate PULL_REQUEST_TEMPLATE.md
Tianqi Chen [Wed, 16 Oct 2019 17:44:17 +0000 (10:44 -0700)]
Update PULL_REQUEST_TEMPLATE.md

4 years agoAdding support for dequantizing from int32 to float32. (#4130)
shoubhik [Wed, 16 Oct 2019 16:44:59 +0000 (09:44 -0700)]
Adding support for dequantizing from int32 to float32. (#4130)

4 years ago[Relay][Training] Add and fix gradients (#4126)
Altan Haan [Wed, 16 Oct 2019 14:32:29 +0000 (07:32 -0700)]
[Relay][Training] Add and fix gradients (#4126)

* add and fix gradients

* fix linter issues

4 years ago[QNN] Change default rouning to UPWARD. (#4131)
Animesh Jain [Wed, 16 Oct 2019 05:17:47 +0000 (22:17 -0700)]
[QNN] Change default rouning to UPWARD. (#4131)

4 years agoFix infer type of kernel in dense. (#4125)
shoubhik [Tue, 15 Oct 2019 21:02:08 +0000 (14:02 -0700)]
Fix infer type of kernel in dense. (#4125)

* Fix infer type of kernel in dense.

* - Moving the check of weight being nullptr up as it is needed in both the branches now.
- Adding test case for validating that data dtype and kernel dtypes can be different.

* - Fix the dtype check for weight. If the weight is not present then we will use the data dtype.

4 years ago[Relay][AlterOpLayout] NHWC to NCHWc pad operator. (#4103)
Animesh Jain [Tue, 15 Oct 2019 19:12:01 +0000 (12:12 -0700)]
[Relay][AlterOpLayout] NHWC to NCHWc pad operator. (#4103)

* [Relay][AlterOpLayout] NHWC to NCHWc pad operator.

* Fixing culprit.

* Flaky test 1.

* Flaky test 2.

4 years ago[ARITH] Fix lowering of floormod(x, y) != 0 (#4127)
Sergei Grechanik [Tue, 15 Oct 2019 15:51:06 +0000 (18:51 +0300)]
[ARITH] Fix lowering of floormod(x, y) != 0 (#4127)

4 years ago[RFC][RUNTIME] Introduce new object protocol. (#4115)
Tianqi Chen [Tue, 15 Oct 2019 05:46:35 +0000 (22:46 -0700)]
[RFC][RUNTIME] Introduce new object protocol. (#4115)

* [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

4 years ago[Relay][Topi] Disable conv NHWC pack int8. (#4038)
Animesh Jain [Tue, 15 Oct 2019 04:46:09 +0000 (21:46 -0700)]
[Relay][Topi] Disable conv NHWC pack int8. (#4038)

4 years agoUpdate task_cpp_unittest.sh
Tianqi Chen [Mon, 14 Oct 2019 22:51:55 +0000 (15:51 -0700)]
Update task_cpp_unittest.sh

4 years agoRevert ci-cpu due to nnpack issue (#4124)
Tianqi Chen [Mon, 14 Oct 2019 21:05:51 +0000 (14:05 -0700)]
Revert ci-cpu due to nnpack issue (#4124)

4 years ago[QNN][TFLite] Parsing TFLite quantized models. (#3900)
Animesh Jain [Mon, 14 Oct 2019 19:34:09 +0000 (12:34 -0700)]
[QNN][TFLite] Parsing TFLite quantized models. (#3900)

4 years ago[CI] Update ci-cpu to latest (#4121)
Tianqi Chen [Mon, 14 Oct 2019 19:13:59 +0000 (12:13 -0700)]
[CI] Update ci-cpu to latest (#4121)

4 years agoadd dependency of compilation with LLVM (#4117)
Leo Chen [Sun, 13 Oct 2019 18:38:00 +0000 (02:38 +0800)]
add dependency of compilation with LLVM (#4117)

4 years agoAdd parser support for CAST tflite operator (#4096)
Ina Dobreva [Sun, 13 Oct 2019 05:06:50 +0000 (06:06 +0100)]
Add parser support for CAST tflite operator (#4096)

This implementation provides cast to limited number of dtypes
that tflite currently supports for placeholder op. Add INT64 in the
possible dtypes as it appears to be supported accrording to tlfite schema.

4 years agoadding soiferj to the list of reviewers (#4108)
Thierry Moreau [Sat, 12 Oct 2019 16:45:51 +0000 (09:45 -0700)]
adding soiferj to the list of reviewers (#4108)

4 years ago[codegen] Add multiple operands and function support when using fp16 compilation...
Xingyu Zhou [Fri, 11 Oct 2019 21:25:14 +0000 (14:25 -0700)]
[codegen] Add multiple operands and function support when using fp16 compilation (#4056)

* overload half operators for cuda codegen

* add float16 te test_op_level1

* fix test_op_level1.py

* fix lint

* disable fp16 test if gpu does not support

* disable fp16 test if gpu does not support

* bypass float16 test if gpu does not support float16

4 years ago[Fix] Fix a few bugs when dtype is fp16 (#4088)
Haichen Shen [Fri, 11 Oct 2019 21:23:01 +0000 (14:23 -0700)]
[Fix] Fix a few bugs when dtype is fp16 (#4088)

* Fix layer norm for fp16

* [Fix] Fix arange for fp16

* [Fix] Fix mxnet frontend for fp16

* [Fix] Fix arange for fp16

* remove comments

* x

* fix nnvm

4 years ago[tvm][any] broadcast with values other than one (#3967)
Zhi [Fri, 11 Oct 2019 17:31:00 +0000 (10:31 -0700)]
[tvm][any] broadcast with values other than one (#3967)

* [tvm][any] broadcast with values other than 1

* Add test for incompatible runtime values

* Remove hybrid script compact buffer binding

* retrigger ci

4 years agoforce code object v2 for amd gpu backend (#4099)
Peter Yeh [Fri, 11 Oct 2019 06:45:12 +0000 (23:45 -0700)]
force code object v2 for amd gpu backend (#4099)

4 years agoTutorial: update Building a Graph Convolutional Network tutorial (#4060)
Chien-Yu Lin [Fri, 11 Oct 2019 06:12:22 +0000 (23:12 -0700)]
Tutorial: update Building a Graph Convolutional Network tutorial (#4060)

* update build_gcn.py tutorial

updates
* support bias in GCN layer
* download pretrained gcn model
* verify model accuracy
* use time_evaluator to measure runtime

* fix adding bias in gcn layer

* remove printing output

* fix small bug

* add DGL-PyTorch comparison into the build_gcn tutorial

* add accuracy testing

* adjust import order

* handle different dgl versions

* update number for dgl version checking

4 years ago[Relay][AlterOp] NHWC to NCHWc support for Pool, pad, concatenate, sum. (#4059)
Animesh Jain [Fri, 11 Oct 2019 05:57:09 +0000 (22:57 -0700)]
[Relay][AlterOp] NHWC to NCHWc support for Pool, pad, concatenate, sum. (#4059)

4 years ago[TOPI] FIFO buffer op, to accelerate sequence modeling with dilated convolutions...
Philip Hyunsu Cho [Thu, 10 Oct 2019 21:48:00 +0000 (14:48 -0700)]
[TOPI] FIFO buffer op, to accelerate sequence modeling with dilated convolutions (#4039)

* Add FIFO buffer op to enable explicit computation re-use in convolution

* Add a test

* Add end-to-end test with 1D convolution

* Add a stub in MXNet frontend

* Address reviewer comments

* Add back stub for MXNet frontend

4 years ago[VTA][TSIM] Serial GEMM Application Added (#4082)
Benjamin Tu [Thu, 10 Oct 2019 20:37:05 +0000 (13:37 -0700)]
[VTA][TSIM] Serial GEMM Application Added (#4082)

* app init push

* fix on readme

* change name, add bit serial explanantion

* rm serialLoadMM, change doc

* syntax change for readme

* add parallel test functionality

* fix readme

* add python doc

* syntax

4 years agoAdd a python tutorial of deploying tvm module with tvm runtime only (#4094)
LiangHao [Thu, 10 Oct 2019 19:59:58 +0000 (03:59 +0800)]
Add a python tutorial of deploying tvm module with tvm runtime only (#4094)

4 years agocorrect error (#4093)
Leyuan Wang [Thu, 10 Oct 2019 19:55:59 +0000 (12:55 -0700)]
correct error (#4093)

4 years ago- Adding support for Mxnet flavored dequantization for both default and using MKLDNN...
shoubhik [Thu, 10 Oct 2019 19:52:49 +0000 (12:52 -0700)]
- Adding support for Mxnet flavored dequantization for both default and using MKLDNN. User can choose between the two at runtime. (#3945)

- Added tests for new methods added.

4 years ago[Fix] Fix the logic of the number of nodes checking in op fusion (#4074)
Yida Wang [Thu, 10 Oct 2019 19:24:32 +0000 (12:24 -0700)]
[Fix] Fix the logic of the number of nodes checking in op fusion (#4074)

* move the number of nodes constraint in op fusion up to the dom tree level

* add test case of limiting the max number of ops to be fused

* uncomment other test cases

4 years agoFixing tensor not found issue in bitserial operator (#4095)
Aniket Rangrej [Thu, 10 Oct 2019 17:35:33 +0000 (23:05 +0530)]
Fixing tensor not found issue in bitserial operator (#4095)

4 years ago[DOCKER] torch install depends on future package (#4098)
Marcus Shawcroft [Thu, 10 Oct 2019 16:26:57 +0000 (17:26 +0100)]
[DOCKER] torch install depends on future package (#4098)

The torch package depends on the future package but the torch wheel
does not expose that dependency resulting in an inconsitent install.

Ideally the wheel should declare all of its dependencies, I'm not sure
why the packagers have choosen not to do this, for now the simple work
around is to explicitly install the future package.

Change-Id: Ic9f0f4bb4c78ab65706fc1b20c1b4fd287856a9e

4 years ago[Relay][VM] Fix constant folding issue in VM compiler (#4077)
Wei Chen [Thu, 10 Oct 2019 00:47:04 +0000 (17:47 -0700)]
[Relay][VM] Fix constant folding issue in VM compiler (#4077)

* [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

4 years ago[TOPI] Add valid auto tvm for Intel Graphics (#4078)
Leyuan Wang [Wed, 9 Oct 2019 18:05:45 +0000 (11:05 -0700)]
[TOPI] Add valid auto tvm for Intel Graphics (#4078)

* add valid autotune

* fix pylint

4 years ago[TVM] Rewrite simplification rule to eliminate unnecessary conditionals. (#4076)
Andrew Tulloch [Wed, 9 Oct 2019 16:35:49 +0000 (09:35 -0700)]
[TVM] Rewrite simplification rule to eliminate unnecessary conditionals. (#4076)

The current bounds checking infrastructure inserts checks like:

```
for (i, 0, bounds[n]) {
  if (likely(i < bounds[n]) {
     ...
  }
}
```

into the TVM IR which is currently not removed by simplification infrastructure.
This is a little unclean, as these are trivially true since for a loop var `i`
with a given min and extent, we are guaranteed that `i >= min` and `i < min +
extent`. Thus, we can insert these checks into the IR and use them to eliminate
trivial bounds checks early on.

4 years ago[relay] Small refactor for context (#4091)
Zhi [Wed, 9 Oct 2019 16:19:56 +0000 (09:19 -0700)]
[relay] Small refactor for context (#4091)

4 years ago[TOPI][X86] Pool operator parallel support. (#4090)
Animesh Jain [Wed, 9 Oct 2019 15:23:45 +0000 (08:23 -0700)]
[TOPI][X86] Pool operator parallel support. (#4090)

4 years ago[topi] enable fp16 sort for arm (#4084)
Yizhi Liu [Tue, 8 Oct 2019 21:54:37 +0000 (05:54 +0800)]
[topi] enable fp16 sort for arm (#4084)

4 years ago[ARITH] Add floordiv for the deduce bound (#4025)
Umang Yadav [Tue, 8 Oct 2019 21:17:15 +0000 (17:17 -0400)]
[ARITH] Add floordiv for the deduce bound (#4025)

Use fdiv in the tests for the deduce_bound

4 years agoFix wrong n_trial number in autotvm tutorials' progress bar (#4070)
Attila Dusnoki [Tue, 8 Oct 2019 19:24:56 +0000 (21:24 +0200)]
Fix wrong n_trial number in autotvm tutorials' progress bar (#4070)

if n_trial is larger then config space.

4 years ago[VTA] hotfix for de10-nano driver (#4081)
Hua Jiang [Tue, 8 Oct 2019 19:16:03 +0000 (12:16 -0700)]
[VTA] hotfix for de10-nano driver (#4081)

Issue:
git clone latest TVM/VTA and run VTA on xilinx FPGA board, application
crashed due to the "call stack overflow" which caused by a infinite recursive
function call. this issue ever happen before and get addressed by PR 3843.

Analysis:
seems like de10-nano driver PR  used old code base then the  logic change
of 3843 get eliminated.

Solution:
add the logic back.

4 years ago[CodeGen] Disable -mfloat-abi hard option for LLVM < 6.0 (#4071)
mbarrett97 [Tue, 8 Oct 2019 18:54:08 +0000 (19:54 +0100)]
[CodeGen] Disable -mfloat-abi hard option for LLVM < 6.0 (#4071)

The -mfloat-abi hard option does not work for LLVM < 6.0 as it is ignored.
This adds a fatal error when using unsupported LLVM versions so that the failure
is not silent.

4 years ago[AlterOpLayout][x86] NHWC to NCHWc conv support. (#4080)
Animesh Jain [Tue, 8 Oct 2019 18:44:45 +0000 (11:44 -0700)]
[AlterOpLayout][x86] NHWC to NCHWc conv support. (#4080)

4 years ago[Fix][VM] Fix VM invoke with set_params (#4079)
Haichen Shen [Tue, 8 Oct 2019 17:19:49 +0000 (10:19 -0700)]
[Fix][VM] Fix VM invoke with set_params (#4079)

* Fix VM invoke with set_params

* add test

* tweak

4 years ago[QNN] Refactor fixed point multiplication in requantize (#4073)
Wuwei Lin [Tue, 8 Oct 2019 17:17:56 +0000 (13:17 -0400)]
[QNN] Refactor fixed point multiplication in requantize (#4073)

4 years agoFix match case in Python-side expr functor (#4037)
Logan Weber [Mon, 7 Oct 2019 15:20:59 +0000 (08:20 -0700)]
Fix match case in Python-side expr functor (#4037)

4 years agoHide symbols from dependent libraries if HIDE_PRIVATE_SYMBOLS is ON. (#4041)
ndl [Mon, 7 Oct 2019 15:20:26 +0000 (17:20 +0200)]
Hide symbols from dependent libraries if HIDE_PRIVATE_SYMBOLS is ON. (#4041)

In current implementation HIDE_PRIVATE_SYMBOLS hides symbols from TVM
itself but not from its dependent libraries. This is problematic when
other third-party libraries with the same symbols are linked to the
same executable.

One example is using TVM with Mesa OpenCL drivers: they depend on LLVM
and load its shared libraries with RTLD_GLOBAL flag, which results in
conflicts with LLVM symbols that TVM uses. Arguably this particular
issue belongs to Mesa (here's their tracking bug:
https://gitlab.freedesktop.org/mesa/mesa/issues/236) but in general
that's the right thing to do regardless of this particular bug.

Note that I'm not enabling this functionality for Darwin as in my
earlier tests their linker didn't seem to understand "--exclude-libs"
(but I don't have test platform ATM to double-check).

4 years agoAdd gradient for log-softmax (#4069)
雾雨魔理沙 [Mon, 7 Oct 2019 14:11:38 +0000 (07:11 -0700)]
Add gradient for log-softmax (#4069)

4 years ago[DOC] Fix typos in tutorials (#4066)
Bohan Hou [Mon, 7 Oct 2019 04:27:59 +0000 (12:27 +0800)]
[DOC] Fix typos in tutorials (#4066)

fix some typos

4 years agodicrease the complexity of CalcDep from exponential to linear (#4053)
Chengji Yao [Mon, 7 Oct 2019 03:02:06 +0000 (11:02 +0800)]
dicrease the complexity of CalcDep from exponential to linear (#4053)

4 years ago[Relay][AlterOp] Minor refactor. (#4064)
Animesh Jain [Sun, 6 Oct 2019 23:46:06 +0000 (16:46 -0700)]
[Relay][AlterOp] Minor refactor. (#4064)

4 years ago[Relay][AlterOp] Improving support for broadcast layout alteration. (#4040)
Animesh Jain [Sun, 6 Oct 2019 04:18:58 +0000 (21:18 -0700)]
[Relay][AlterOp] Improving support for broadcast layout alteration. (#4040)