platform/upstream/tvm.git
4 years ago[Caffe Frontend] introduce caffe frontend for tvm (#6206)
FernChen [Thu, 27 Aug 2020 03:26:58 +0000 (11:26 +0800)]
[Caffe Frontend] introduce caffe frontend for tvm (#6206)

* [Caffe Frontend] introduce caffe frontend for tvm.

* [Caffe Frontend] fix bugs for generating caption in tutorial.

* [Caffe Frontend] delete statement for python2 and modify the function name.

* [Caffe Frontend] change the directory which will hold the tmp files
when testing the caffe frondend.

* [Caffe Frontend] delete tutorial about caffe frontend.

* [Caffe Frontend] delete some print statements

Co-authored-by: fernchen <zifeng.cf@alibaba-inc.com>
4 years ago[Relay/TOPI][TFLite] Implemented MATRIX_SET_DIAG Operator for Relay/TOPI and TFLite...
Rishabh Jain [Thu, 27 Aug 2020 03:21:45 +0000 (08:51 +0530)]
[Relay/TOPI][TFLite] Implemented MATRIX_SET_DIAG Operator for Relay/TOPI and TFLite Frontend. (#6303)

* Corrected docstring error.

* Minor changes.

* Changed MATRIX_SET_DIAG registration from broadcast to injective.

4 years ago[TESTS] add gpuonly tests for python unittests and integration (#6346)
Tristan Konolige [Thu, 27 Aug 2020 02:29:24 +0000 (19:29 -0700)]
[TESTS] add gpuonly tests for python unittests and integration (#6346)

4 years agoAdd `init` member to ReduceNode (#6138)
quic-sanirudh [Thu, 27 Aug 2020 02:11:24 +0000 (07:41 +0530)]
Add `init` member to ReduceNode (#6138)

- This patch adds a new member to ReduceNode called init which allows
  initialization with a custom ProducerLoad or a Float/Int immediate.
- This allows initialization of the output Tensor of a reduction with
  another Tensor instead of the `identity_element` defined in the
  CommReducer
- One example use case for this node is to initialize the Output of a
  convolution reduction with the Bias values thereby saving the
  Bias-add computation.

4 years agoROCm changed name of library and removed old one in ROCm 3.7 release. (#6345)
mvermeulen [Thu, 27 Aug 2020 01:55:31 +0000 (20:55 -0500)]
ROCm changed name of library and removed old one in ROCm 3.7 release. (#6345)

4 years ago[MSVC] Make able to compile with MSVC (#6341)
yukatayu [Wed, 26 Aug 2020 16:52:23 +0000 (01:52 +0900)]
[MSVC] Make able to compile with MSVC (#6341)

* fix: make suitable for msvc, clang

* clang-format

* refactor: use DMLC_ATTRIBUTE

4 years ago[DYN][RELAY] Resize support for NCHW-convertible layouts (#6293)
Lily Orth-Smith [Wed, 26 Aug 2020 08:21:05 +0000 (01:21 -0700)]
[DYN][RELAY] Resize support for NCHW-convertible layouts (#6293)

* fix lint

* fix typo

* remove channel_axis from resize shape func

* fix lint

4 years agoUse auto-tuner to improve conv2d_gemm performance (#6117)
Giuseppe Rossini [Wed, 26 Aug 2020 06:35:22 +0000 (07:35 +0100)]
Use auto-tuner to improve conv2d_gemm performance (#6117)

* Use auto-tuner to improve conv2d_gemm performance

The following tuning entities have been introduced:
- Unrolling and vectorizing input matrix transform
- Reordering gemm to exploit parallel threads
- Unrolling `gemm_quantized` intrinsic
- Interleaving `gemm_quantized` intrinsic

Change-Id: Icd3ab005663f78a80672e71ef368f6d0efa4a401

* Rebasing

Change-Id: Id27b6de705b16b93df8e885868961fa0321497be

* Fix python linting

Change-Id: I77d880424c3e7ce9de67c970ddb2cf2a92b52f79

* Fusing batch into inner dimensions before parallelizing

Change-Id: Ic58d1138ab96d58d12f5855f0e1044f10d9e6e9b

4 years agosave (#6338)
雾雨魔理沙 [Wed, 26 Aug 2020 03:37:22 +0000 (20:37 -0700)]
save (#6338)

4 years ago[Relay] Make check stricter by using Feature. Fixed multiple bugs. (#6326)
雾雨魔理沙 [Tue, 25 Aug 2020 18:40:34 +0000 (11:40 -0700)]
[Relay] Make check stricter by using Feature. Fixed multiple bugs. (#6326)

* save

lint

lint

lint

fix lint

lint

update

lint

save

save

save

lint

format

format

save

save

fix

use a form more suitable for numeric check

save

* save

* save

* lint

* save

* lint

* fix

* fix

4 years ago[FIX][VM] Fix relay vm optimize (#6322)
Zhi [Tue, 25 Aug 2020 16:07:02 +0000 (09:07 -0700)]
[FIX][VM] Fix relay vm optimize (#6322)

* [FIX][VM] Fix relay vm optimize

* retrigger ci

4 years ago[BYOC][ACL] Enable remote device via environment variables (#6279)
lhutton1 [Tue, 25 Aug 2020 16:04:20 +0000 (17:04 +0100)]
[BYOC][ACL] Enable remote device via environment variables (#6279)

* [BYOC][ACL] Enable remote device via environment variables

Improves the ACL remote testing infrastructure by allowing a remote device to be specified via environment variables. This means external scripts can be used to enable the runtime tests. By default an RPC server will not be used and the runtime tests will be skipped.

Change-Id: I8fc0b88106683ac6f1cbff44c8954726325cda21

* Use json file as configuration for tests

Change-Id: Iadce931d91056ed3a2d57a49f14af1ce771ae14b

* Do not load the test config during class creation

Change-Id: If718b5d163e399711111830f878db325db9c5f84

* Add check for existence of file

Change-Id: I2568bca7f4c3ad22ee8f9d065a9486ee3114f35c

4 years ago[Frontend][Relay] Keras softmax and prelu fix (#6278) (#6278)
Dongming Yang [Tue, 25 Aug 2020 00:08:41 +0000 (08:08 +0800)]
[Frontend][Relay] Keras softmax and prelu fix (#6278) (#6278)

* prelu and softmax with NHWC layout consideration

* fix lint

* fix lint

Co-authored-by: Dongming Yang <dongming.yang@streamcomputing.com>
4 years ago[OpFusion] Make the max number of fused ops configurable (#6327)
masahi [Mon, 24 Aug 2020 20:15:23 +0000 (05:15 +0900)]
[OpFusion] Make the max number of fused ops configurable (#6327)

4 years ago[Relay] Support for PyTorch Non-Maximum Suppression (#6314)
Yong Wu [Mon, 24 Aug 2020 13:19:57 +0000 (21:19 +0800)]
[Relay] Support for PyTorch Non-Maximum Suppression (#6314)

* [Relay] Support for PyTorch Non-Maximum Suppression

* fix comment

* add verify_model_vm

4 years ago[Ansor][AutoTVM v2.0] Phase 2: Basic GPU Sketch Search Policy (#6269)
Chenfan [Mon, 24 Aug 2020 10:46:31 +0000 (18:46 +0800)]
[Ansor][AutoTVM v2.0] Phase 2: Basic GPU Sketch Search Policy (#6269)

* Add PreloadMeasuredStates & Split search_policy.py

* Add GPU sketch rule

* Update

* Bug fix for log record

* Lint fix

* Update tutorial

* Update

* UT fix

* Remove tutorial

* Update

* Update

* Update UT

* Lint fix

* Update

* Update

4 years ago[RUNTIME][FFI] Fix cython FFI compact with np.int64 (#6321)
Tianqi Chen [Sat, 22 Aug 2020 15:30:48 +0000 (08:30 -0700)]
[RUNTIME][FFI] Fix cython FFI compact with np.int64 (#6321)

4 years ago[Relay] Make check stricter: disallow inserting function with free vars into module...
雾雨魔理沙 [Sat, 22 Aug 2020 05:11:50 +0000 (22:11 -0700)]
[Relay] Make check stricter: disallow inserting function with free vars into module. (#6313)

* save

lint

lint

fix test

fix test

* fix

4 years ago[Frontend][Pytorch]Add Pytorch advanced indexing (#6318)
Yao Wang [Sat, 22 Aug 2020 01:54:26 +0000 (18:54 -0700)]
[Frontend][Pytorch]Add Pytorch advanced indexing (#6318)

* Add Pytorch advanced indexing

* Minor fix for test

* Fix for cuda

4 years ago[BUG_FIX] Fix resize test (#6298)
Lily Orth-Smith [Sat, 22 Aug 2020 01:03:43 +0000 (18:03 -0700)]
[BUG_FIX] Fix resize test (#6298)

* fix resize tests

* add different scale to resize tests

* fix dynamic to static resize test

* fix error throwing in topi resize

* fix topi and importer tests

* fix lint

* flakey test failed

* make resize test less sensitive; had floating point rounding err on gpu

* remove nearest_neighbor + half_pixel option from pytorch importer

* remove nearest_neighbor + half_pixel in upsample3d

4 years ago[RELAY][MXNET][FRONTEND] add support for MXNET numpy operators (#6054)
sandyhu533 [Fri, 21 Aug 2020 20:47:47 +0000 (04:47 +0800)]
[RELAY][MXNET][FRONTEND] add support for MXNET numpy operators (#6054)

* [RELAY][MXNET][FRONTEND] add supports for OPs in numpy from mxnet

* Update test_forward.py

* Update mxnet.py

* Update mxnet.py

* Update test_forward.py

* update and bugfix

* test for multiple dtypes

* Update test_forward.py

* add data type and optimize coding style

* replace pytest.skip with @pytest.mark.skipif

* Update test_forward.py

* update pytest style

* Update test_forward.py

* Update test_forward.py

* Update test_forward.py

* Update test_forward.py

Co-authored-by: Ubuntu <ubuntu@ip-172-31-39-169.ap-northeast-1.compute.internal>
4 years ago[TIR] Enforce buffer pointer var type to be consistent with dtype. (#6317)
Tianqi Chen [Fri, 21 Aug 2020 17:53:39 +0000 (10:53 -0700)]
[TIR] Enforce buffer pointer var type to be consistent with dtype. (#6317)

Now that we have type_annotation in tir::Var.
We should make sure that the type annotation to be consistent with the dtype
in Buffer declaration and Allocation.

This change allows future passes to directly use the content type information via type_annotation.

This PR turns on the enforcement on Buffer and also fixed a few cases for Allocate.
A follow up PR need to fix a few more cases in the hybrid script parsing
before everything can be made consistent.

4 years agoRetrigger build. (#6304)
Rishabh Jain [Fri, 21 Aug 2020 17:32:42 +0000 (23:02 +0530)]
Retrigger build. (#6304)

4 years ago[RELAY][DYN] Dynamic upsampling relay op (#6273)
Lily Orth-Smith [Fri, 21 Aug 2020 16:06:53 +0000 (09:06 -0700)]
[RELAY][DYN] Dynamic upsampling relay op (#6273)

* implementing upsampling op

* fix lint

* fix lint again

* add doc to upsampling shape func

* fix set attrs build problem

* fixing imports

* reverting data layout transform changes

* moved layout template to header file

* changing python module from nn.dyn to dyn.nn

* adding support for more layouts to upsampling

* fix lint

* fix upsampling doc

* change _nn.py doc

* failed flakey test

* fix build after merge

4 years ago[TEST][FLAKY] fix random fail (#6312)
Zhao Wu [Fri, 21 Aug 2020 14:20:19 +0000 (22:20 +0800)]
[TEST][FLAKY] fix random fail (#6312)

* [TEST][FLAKY] fix random fail

* increase size and error check range

4 years ago[Target] Add python binding to new JSON target construction. (#6315)
Josh Fromm [Fri, 21 Aug 2020 14:04:56 +0000 (07:04 -0700)]
[Target] Add python binding to new JSON target construction. (#6315)

* Add python binding to new JSON target construction.

* Added json string parsing and new test.

* Add error type.

* Add error type in json decoding check.

* Fix sphinx formatting.

4 years ago[COREML]multiple output support, reshape, split ops added (#6296)
Siju Samuel [Fri, 21 Aug 2020 04:07:04 +0000 (09:37 +0530)]
[COREML]multiple output support, reshape, split ops added (#6296)

* [COREML]multiple output support, reshape, split ops added

* Review comments addressed

4 years ago[Torch] Fix dtype handling for modules with integer parameters (#6311)
masahi [Fri, 21 Aug 2020 02:29:45 +0000 (11:29 +0900)]
[Torch] Fix dtype handling for modules with integer parameters (#6311)

* return the correct type for GetAttr node

* keep _get_pytorch_value_type intact

* add test and handle quantized param

4 years agoChanged TVMCTVMContext to TVMContext (#6306)
Matthew LeMay [Fri, 21 Aug 2020 00:45:17 +0000 (20:45 -0400)]
Changed TVMCTVMContext to TVMContext (#6306)

4 years agoConstant input attr added to fully connected operation in TFLite frontend (#6228)
Dmitriy Smirnov [Thu, 20 Aug 2020 18:44:04 +0000 (19:44 +0100)]
Constant input attr added to fully connected operation in TFLite frontend (#6228)

* Constant input attr added to fully connected operation

An ability to handle constant input attr added to fully connected operation
Unit tests amended.

* renamed wrap_input to const_input

* removed extra spaces

4 years ago[RELAY][DYN] Implementation of the dynamic pad operator (#6284)
Lily Orth-Smith [Thu, 20 Aug 2020 01:57:05 +0000 (18:57 -0700)]
[RELAY][DYN] Implementation of the dynamic pad operator (#6284)

4 years ago[AutoScheduler] Fix flaky test (#6307)
Lianmin Zheng [Thu, 20 Aug 2020 01:38:10 +0000 (18:38 -0700)]
[AutoScheduler] Fix flaky test (#6307)

4 years ago[Relay] change device annotation from post DFS to recursive (#6124)
ZHANG Hao [Wed, 19 Aug 2020 16:49:00 +0000 (00:49 +0800)]
[Relay] change device annotation from post DFS to recursive (#6124)

* change device annotation from post DFS to recursive

* add testcast for recursive device propogation

4 years ago[BYOC][ETHOSN] Introduce the Ethos-N BYOC integration (#6222)
mbaret [Wed, 19 Aug 2020 16:39:33 +0000 (17:39 +0100)]
[BYOC][ETHOSN] Introduce the Ethos-N BYOC integration (#6222)

* [BYOC][ETHOSN] Introduce the Ethos-N BYOC integration

This is the first of 3 PRs to introduce the Ethos-N
integration into TVM via the BYOC framework. It adds
support for partitioning and compiling for the
Ethos-N77 target with CPU fallback for unsupported
operators. Additionally, runtime support is added in
the form of an Ethos-N runtime module. In this initial
PR, only quantized concatenate and split are supported
with follow-up PRs adding support for many further operators.

Co-authored-by: Leo Blonk <Leo.Blonk@arm.com>
Co-authored-by: Tristan O'Connor <tristan.oconnor@arm.com>
Co-authored-by: Leandro Nunes <leandro.nunes@arm.com>
Co-authored-by: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-authored-by: Luke Hutton <luke.hutton@arm.com>
* Turn off USE_ETHOSN_HW by default

Change-Id: Ie2ce4528e16e93aa83df46f8a229c0ce89b45252

* Update capabilities file

Change-Id: Iebd0c62d6bc7e446662abdee4882ac874ad98aa3

* Fix missing header

Change-Id: I0c89e380dd1d795755a1884c06a7b317a99fe297

* Update cmake comments on ETHOSN_HW

Change-Id: I2e96a1c818a82e5174fd94e483b0bdb3e4375a7d

* Add checker for case when USE_ETHOSN=OFF and USE_ETHOSN_HW=ON

Change-Id: Id5c9cfb866914a0298b44ead40fcbe3764ce443c

* Fix 'available' boolean

Change-Id: I78e54fb9f472d2815886bea4d94b7247e0d129de

* Check availability in op registration

Change-Id: Iecfea7dca7301dd684199c9b32f99f2113fdfd56

* Remove unnecessary line

Change-Id: Idf5cab853027adb0b0292de877e6dc02683821d7

* Simplify getting output_size

Change-Id: If4643924768c2d7ea98525e9f792b7223cc2bcdf

* Remove unnecessary new line

Change-Id: Ia689c59cac28bd91e237ceecd829d8cf56d0d9c1

* Remove NOLINTS

Change-Id: I149b97b28b516c7d9288a0858b2fbf1497e70250

* Remove unused parts of PR

Change-Id: I2db5b89d8fe2c114ab92305cdcf06d0fc45f4d2a

* Fix CI Ethos-N settings

Change-Id: Idd955755d6f6d1cd3843462f627d0d952729e467

* Removed unnecessary line in infra

Change-Id: I0ea866adf5d9166db85dd82d013a631d991ae633

* Remove unnecessary len in infra

Change-Id: I869e8233d41c6ab7c2dc80f47d976c974043b80c

* Rename 'cpu_ops' to 'host_ops'

Change-Id: I79a6ffcfd48cd055d279f493c672ec82f0c68e5c

* Added explanation on mocking

Change-Id: I1e88c07a47464e44cb45c6a327ec9c7e2d70cc94

* IsEthosOp -> IsEthosnOp

Change-Id: I4fc1b462a74f8fae231ebafac614dd8d45be0feb

* Improve documentation in ethosn_api.h

Change-Id: I5586a7ba7ce71da667a6a9c6dd2e591028eb43b2

* No longer iterate over module when compiling

Change-Id: I80e1d494c6d574be06a2375e831343485712914d

* Move EthosnCompiler implementations into codegen.cc

Change-Id: I5bb6e9f62722d930d9dc040ac62bf87f29dd74c5

* Fix linting

Change-Id: Ia44ec741a5330ad289cc6b5cd2bb1ed784fe6afc

* Refactor EthosnAPI compilation functions into EthosnCompiler

Change-Id: Iee0aecbe43a84fefb437ab9ff064e3f8b42c80a4

* Improve docs for Tvm2Npu

Change-Id: Ia39e9e1508513ca39c1d585fbccc3ae38fcbb9fb

* Move more implementation out of headers

Change-Id: I1e33084ceb520b75f06b4d7a4acff5b9b2225bd5

* Move implementation in ethosn_api.h

Change-Id: I51ab386892a2aa84aa47d03641aac8468f5737ae

* Improve docs for capabilities.h

Change-Id: Iaaee508aafa1cbb7650a04ed87bd6c1b91823a58

* Use else() in cmake

Change-Id: I4b64a87f32b3616ec87c9937d9fc998b8dc5d7b4

* Use GetDataSize

Change-Id: I16988f3adbe6e03fc47fa0a77cb5febb7a02eaab

* Use const&

Change-Id: I664982d219f9a7d1f961dbfe84d12f66e2e5f5cb

* Fix python linting

Change-Id: Id965ccc037fd40cbdfcb58d922cc8d5fb8c87dfe

* Remove load/save to file

Change-Id: I7f8c3f5c8948c3f15551d28e3fee6e00120663ef

* data->data

Change-Id: Ifb861ebbfeaaf4b154f4b1515f83a46aecf86e50

* Remove specific cpu target

Change-Id: I920568cc7a81cd77d44f8604f571340a330f3e62

* Test export/load module

Change-Id: Ib605458127485e2015ac012ec515ced5900705f3

* Fix cmake garbage

Change-Id: I32f3c967192c7c278ef33c52cac5fb5da682cd1b

Co-authored-by: Leo Blonk <Leo.Blonk@arm.com>
Co-authored-by: Tristan O'Connor <tristan.oconnor@arm.com>
Co-authored-by: Leandro Nunes <leandro.nunes@arm.com>
Co-authored-by: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-authored-by: Luke Hutton <luke.hutton@arm.com>
4 years ago[Torch] Fix cast to long (#6301)
masahi [Wed, 19 Aug 2020 11:50:36 +0000 (20:50 +0900)]
[Torch] Fix cast to long (#6301)

* [Torch] fix cast to long

* retrigger

4 years ago[Hexagon] Initial support for Hexagon codegen (#6261)
Krzysztof Parzyszek [Wed, 19 Aug 2020 09:17:07 +0000 (04:17 -0500)]
[Hexagon] Initial support for Hexagon codegen (#6261)

* [Hexagon] Initial support for Hexagon codegen

This commit does not support parallel execution or prefetch.
LLVM 7 or later is required.

* Set native_vector_bits_ based on target features

* Initialize hvx_bytes

* Remove commented out line

4 years ago[Ansor][AutoTVM v2.0] Phase 1: XGBoost Cost Model (#6270)
Lianmin Zheng [Wed, 19 Aug 2020 00:51:10 +0000 (17:51 -0700)]
[Ansor][AutoTVM v2.0] Phase 1: XGBoost Cost Model (#6270)

* port xgb cost model

* add xgboost cost model

* fix lint

* address comments

* address comments

* Fix

4 years ago[Support] Add parallel_for support to run a loop in parallel (#6275)
Chenfan [Tue, 18 Aug 2020 23:21:09 +0000 (07:21 +0800)]
[Support] Add parallel_for support to run a loop in parallel (#6275)

4 years agoAdd tvm::support::hexdump() debug utility (#6154)
Andrew Reusch [Tue, 18 Aug 2020 23:20:38 +0000 (16:20 -0700)]
Add tvm::support::hexdump() debug utility (#6154)

4 years ago[Autodiff] Optimize and eliminate the Jacobian tensor for te.autodiff (#6078)
Yizhi Liu [Tue, 18 Aug 2020 23:19:39 +0000 (16:19 -0700)]
[Autodiff] Optimize and eliminate the Jacobian tensor for te.autodiff (#6078)

* [Autodiff] Optimize and eliminate the Jacobian tensor for te.autodiff

Co-authored-by: Sergei Grechanik <sergei.grechanik+h@gmail.com>
* fix lint

* fix clang-format

* add comments and magic number

* clang-lint

* address some comments

* remove FreeVarsVisitor

* fix constexpr lint

* fix lint

* fix lint

* add Map.Merge

* lint

* change Array::Concat & Map::Merge to global functions

* fix lint

* move functions to global

* static -> inline

Co-authored-by: Sergei Grechanik <sergei.grechanik+h@gmail.com>
4 years ago[RUNTIME][REFACTOR] Use new to avoid exit-time de-allocation order problem in DeviceA...
Tianqi Chen [Tue, 18 Aug 2020 23:08:03 +0000 (16:08 -0700)]
[RUNTIME][REFACTOR] Use new to avoid exit-time de-allocation order problem in DeviceAPI (#6292)

4 years agoGather operation with indices as tensor expr in TFLite frontend (#6168)
Dmitriy Smirnov [Tue, 18 Aug 2020 16:43:29 +0000 (17:43 +0100)]
Gather operation with indices as tensor expr in TFLite frontend (#6168)

* gather with indices as tensor expr

Added handling of indices as tensor expr
to gather operation, unit tests amended
Code cheking out of boundary error refactored
in more "pythonic" way. Fixed bug in negative
axis value normalisation

* replaced with get_tensor_expr

4 years ago[Torch] Support index_select (#6295)
masahi [Tue, 18 Aug 2020 14:06:33 +0000 (23:06 +0900)]
[Torch] Support index_select (#6295)

* support index select

* minor fix

Co-authored-by: masa <masa@pop-os.localdomain>
4 years ago[TEST] use rpc.LocalSession for simple tests (#6294)
Tianqi Chen [Tue, 18 Aug 2020 05:50:57 +0000 (22:50 -0700)]
[TEST] use rpc.LocalSession for simple tests (#6294)

To avoid flaky due to networking.

4 years ago[TOPI] Support int4/int8 conv2d tensor core with HWNC layout (#6121)
GaryYuyjl [Tue, 18 Aug 2020 05:32:30 +0000 (13:32 +0800)]
[TOPI] Support int4/int8 conv2d tensor core with HWNC layout (#6121)

* int4 tensorcore

* a draft for new int4 schedule

* update layout

* add inline option

* clean code

* increase search space

* fix kernel shape

* update intrinsic

* update intrinsic

* support int4/int8 hwnc layout

* remove useless code

* remove useless code

* remove useless code

* remove useless code

* fix int8 transpose

* fix assert

* add asf header

* CI

* CI

* CI

* fix bug

fix bug

Co-authored-by: Leyuan Wang <laurawly@gmail.com>
4 years ago[COMMUNITY] @kparzysz-quic -> committer (#6290)
Tianqi Chen [Mon, 17 Aug 2020 22:45:56 +0000 (15:45 -0700)]
[COMMUNITY] @kparzysz-quic -> committer (#6290)

4 years ago[ONNX] Update slice to infer attributes when not graph inputs (#6276)
Chris Sullivan [Mon, 17 Aug 2020 22:22:51 +0000 (15:22 -0700)]
[ONNX] Update slice to infer attributes when not graph inputs (#6276)

* Update ONNX Slice converter to infer slice attributes when necessary.

* Linting

4 years ago[random] support random fill (#5913)
Zhao Wu [Mon, 17 Aug 2020 16:38:31 +0000 (00:38 +0800)]
[random] support random fill (#5913)

4 years ago[Build] Add cmake options into libinfo (#6286)
Junru Shao [Mon, 17 Aug 2020 14:18:24 +0000 (07:18 -0700)]
[Build] Add cmake options into libinfo (#6286)

* [Build] Add cmake options into libinfo

* Address comments from @tqchen

* Add LLVM version to libinfo

4 years ago[Frontend][Relay] Fix node indices attribute error for tensorflow 2.3 (#6288)
Iswariya Manivannan [Mon, 17 Aug 2020 03:53:38 +0000 (05:53 +0200)]
[Frontend][Relay] Fix node indices attribute error for tensorflow 2.3 (#6288)

* Fix errors caused due to node attributes

* Add node_indices attr for old keras pkg support

4 years agoTVMC - a command line driver for TVM (#6112)
Leandro Nunes [Sun, 16 Aug 2020 17:45:44 +0000 (18:45 +0100)]
TVMC - a command line driver for TVM (#6112)

* Introduce a command line driver to compile, run and tune models, using TVM graph runtime
 * Include tvmc tests and integrate tvmc with linting, testing and CI
 * RFC: https://discuss.tvm.ai/t/rfc-a-tvm-command-line-interface/5165

Co-authored-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-authored-by: Matthew Barrett <Matthew.Barrett@arm.com>
Co-authored-by: Dmitriy Smirnov <dmitriy.smirnov@arm.com>
Co-authored-by: Luke Hutton <luke.hutton@arm.com>
Co-authored-by: Giuseppe Rossini <giuseppe.rossini@arm.com>
Co-authored-by: Matthew Barrett <matthew.barrett@arm.com>
Co-authored-by: Elen Kalda <elen.kalda@arm.com>
Co-authored-by: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-authored-by: Jeremy Johnson <jeremy.johnson@arm.com>
Co-authored-by: Ina Dobreva <Ina.Dobreva@arm.com>
Co-authored-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-authored-by: Matthew Barrett <Matthew.Barrett@arm.com>
Co-authored-by: Dmitriy Smirnov <dmitriy.smirnov@arm.com>
Co-authored-by: Luke Hutton <luke.hutton@arm.com>
Co-authored-by: Giuseppe Rossini <giuseppe.rossini@arm.com>
Co-authored-by: Elen Kalda <elen.kalda@arm.com>
Co-authored-by: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-authored-by: Jeremy Johnson <jeremy.johnson@arm.com>
Co-authored-by: Ina Dobreva <Ina.Dobreva@arm.com>
4 years agoAdd Quantize/Dequantize Partitioning (#5940)
Logan Weber [Sat, 15 Aug 2020 21:48:24 +0000 (14:48 -0700)]
Add Quantize/Dequantize Partitioning (#5940)

* Implement quant/dequant partitioning

on our way

get clooooooser

clean up (part 1)

clean up (part 2)

clean up (part 3)

clean up (part 4)

clean clean

cleaanaannanaaananaananaananaan

clkjsdflkjlfsjdflkj

revert parser changes

add docs

roll lint

roll lint

* add option to toggle fully integral check

* convert dtype collector to C++

* remove need for `with_dtype`

* remove unused imports

* roll lint

* partially address feedback

* roll lint

* upgrade to new parser

* retrigger CI

* roll the dice again

4 years ago[Build] Reflect Compile-Time CMake Options into libtvm.so (#6280)
Junru Shao [Sat, 15 Aug 2020 14:05:40 +0000 (07:05 -0700)]
[Build] Reflect Compile-Time CMake Options into libtvm.so (#6280)

* Initial comit

* Address comments from @tqchen

4 years ago[CI] Update ci-cpu to the latest (#6283)
Tianqi Chen [Sat, 15 Aug 2020 03:41:30 +0000 (20:41 -0700)]
[CI] Update ci-cpu to the latest (#6283)

4 years agoImprove error messages for memory verifier and gpu memory verifier (#6281)
Tristan Konolige [Sat, 15 Aug 2020 03:06:24 +0000 (20:06 -0700)]
Improve error messages for memory verifier and gpu memory verifier (#6281)

* [FIX] Print exactly what issues the GPU memory verifier encountered.

* [FIX] Print exactly why memory verifier failed.

4 years ago[Target] Creating Target from JSON-like Configuration (#6218)
Junru Shao [Sat, 15 Aug 2020 01:33:37 +0000 (18:33 -0700)]
[Target] Creating Target from JSON-like Configuration (#6218)

* [Target] Creating Target from JSON-like Configuration

* Address comments from Cody

* fix unittest

* More testcases as suggested by @comaniac

4 years agoAdded support for tflite quantized maximum and minimum (#6018)
Dmitriy Smirnov [Fri, 14 Aug 2020 18:54:29 +0000 (19:54 +0100)]
Added support for tflite quantized maximum and minimum (#6018)

* Added support for tflite quantized maximum and minimum

* Unit test simplified

Bugfix in unit test. Unit test slightly simplified

* re-trigger CI

* renamed use_real_qnn to ignore_qnn_params

4 years agoUpdate precision in the ONNX strided_slice, update precision of ToScalar (#6272)
Matthew Brookhart [Fri, 14 Aug 2020 17:27:20 +0000 (10:27 -0700)]
Update precision in the ONNX strided_slice, update precision of ToScalar (#6272)

* Update precision in the ONNX strided_slice, update precision of ToScalar

* fix tests

4 years ago[TESTS] Decrease test times by introducing testing model (#6235)
Tristan Konolige [Fri, 14 Aug 2020 16:15:00 +0000 (09:15 -0700)]
[TESTS] Decrease test times by introducing testing model (#6235)

Adds a new testing model `tvm.relay.testing.synthetic` which is a small,
but representative model. Replaces resnet with this model in many tests.

4 years ago[Parser] Add support for parsing the any dimension. (#6277)
Jared Roesch [Fri, 14 Aug 2020 16:13:42 +0000 (09:13 -0700)]
[Parser] Add support for parsing the any dimension.  (#6277)

* Add case for any dimensions

* Fix second test case

4 years agoadd dilation in x86 NCHWc depthwise conv support (#4962) (#6267)
wjliu [Fri, 14 Aug 2020 05:17:38 +0000 (13:17 +0800)]
add dilation in x86 NCHWc depthwise conv support (#4962) (#6267)

4 years ago[BYOC][ACL] Add support for dense (fully connected) layer (#6254)
lhutton1 [Thu, 13 Aug 2020 16:21:35 +0000 (17:21 +0100)]
[BYOC][ACL] Add support for dense (fully connected) layer (#6254)

* [BYOC][ACL] Add support for dense (fully connected) layer

This patch adds the ability to offload dense (or fully connected) operators to ACL.

For fp32 a single dense layer can be offloaded, or the composite variant: nn.dense, nn.bias_add? (ACL does not currently offer fused activation).
For uint8: qnn.dense, nn.bias_add?, qnn.requantize

Change-Id: I83ea00b2aa6bdc5d9ef5cd6d54bbf981e523bd14

* Don't offload dense layer with unsupported datatype

Change-Id: I856eb2298499fdf22c172ba7f85d21033d3cc920

4 years ago[Relay][Dyn] Dynamic full operator (#6260)
Lily Orth-Smith [Thu, 13 Aug 2020 16:08:34 +0000 (09:08 -0700)]
[Relay][Dyn] Dynamic full operator (#6260)

* moved full from other branch

* fixed some typos

* fix lint

* add final newline

* fix int64 test

4 years agofix cuda half math function is undefined: hpow, htanh (#6253)
cloud-mxd [Thu, 13 Aug 2020 15:36:59 +0000 (23:36 +0800)]
fix cuda half math function is undefined: hpow, htanh (#6253)

4 years agoTrivial fix, up the rodata section for the discovery board to 512 bytes. (#6259)
Tom Gall [Thu, 13 Aug 2020 15:34:34 +0000 (10:34 -0500)]
Trivial fix, up the rodata section for the discovery board to 512 bytes. (#6259)

This is more reasonable as the trivial tflite example module needs 208 bytes.

Signed-off-by: Tom Gall <tom.gall@linaro.org>
4 years ago[LINT] Fix clang-format (#6264)
Tianqi Chen [Thu, 13 Aug 2020 15:34:04 +0000 (08:34 -0700)]
[LINT] Fix clang-format (#6264)

4 years agoImprove NHWC depthwise convolution for AArch64 (#6095)
Giuseppe Rossini [Thu, 13 Aug 2020 14:41:45 +0000 (15:41 +0100)]
Improve NHWC depthwise convolution for AArch64 (#6095)

* Improve NHWC depthwise convolution for aarch64

We created a default schedule (no auto-tuning or tensorization) named
depthwise_conv2d_nhwc which does a decent job at optimizing depthwise
for NHWC layouts (on aarch64).

Change-Id: I01e32903f6c1950623f33eae18484e70244fe0af

* Add tuning knobs in depthwise schedule

Change-Id: I15080e7f12b16e6c6aba99a04e42023845eeabf1

* Introduce padding policy

Change-Id: If12a6d05dce9153861550ddef1ee5216809dd1e1

* Vectorize padding

Change-Id: I7e2062a40358bf111c0366a449945eb077fb2e30

* Legalize depthwise convolution (2x improvement) and fix tuning issue

Change-Id: I4b82c58b167e40b0b7747d28293bbb488c505dd9

* Adding assert on padding

Change-Id: Idf8eeaaface5eb7799109cd00f437e404778b9cd

* Fix python linting

Change-Id: Iac16a8daea1268f0eb331fe4ec18a62408106cf9

* Removing commented code

Change-Id: I1412f22ad9864273d77a7bf38a6768694339b7f0

* Revert test file to make CI pass

Change-Id: Ica3eff8f9f0fd4c6f32f7ae80adc922f8b16cec9

* Enabling only arm_cpu tests

Change-Id: Icbaafcb39e892a5d1a4685133c1699e4d1a8e07e

* Rebasing

Change-Id: Ibb23f1d4e0d0107e4e3b3571437161cdc2ee2909

4 years agoupdate tutorial to new TARGET as micro_dev is no more (#6262)
Tom Gall [Thu, 13 Aug 2020 03:18:37 +0000 (22:18 -0500)]
update tutorial to new TARGET as micro_dev is no more (#6262)

Signed-off-by: Tom Gall <tom.gall@linaro.org>
4 years ago[CI] Add apt repository for clang-11 and llvm-11 (#6256)
Leandro Nunes [Wed, 12 Aug 2020 21:18:36 +0000 (22:18 +0100)]
[CI] Add apt repository for clang-11 and llvm-11 (#6256)

- Add specific apt repositories to install clang-11 and llvm-11
 - Fix #6255

4 years ago[Ansor][AutoTVM v2.0] Phase 1: feature extraction for cost models (#6190)
Lianmin Zheng [Wed, 12 Aug 2020 21:00:49 +0000 (14:00 -0700)]
[Ansor][AutoTVM v2.0] Phase 1: feature extraction for cost models (#6190)

* [AutoScheduler] add feature extraction

* fix lint

* fix gpu test

* address comments

* improve flop estimation

* rebase

* refactor with group

* fix

* Apply suggestions from code review

4 years agoSupport mxnet _contrib_SyncBatchNorm (#6245)
Trevor Morris [Wed, 12 Aug 2020 16:00:55 +0000 (09:00 -0700)]
Support mxnet _contrib_SyncBatchNorm (#6245)

4 years ago[COREML]Reduceops support added to frontend (#6252)
Siju Samuel [Wed, 12 Aug 2020 15:50:42 +0000 (21:20 +0530)]
[COREML]Reduceops support added to frontend (#6252)

4 years agoFix newer GCC compiler warnings. (#6257)
Balint Cristian [Wed, 12 Aug 2020 15:50:16 +0000 (18:50 +0300)]
Fix newer GCC compiler warnings. (#6257)

4 years ago[TOPI] Fix reduction (#6250)
Zhi [Wed, 12 Aug 2020 08:12:56 +0000 (01:12 -0700)]
[TOPI] Fix reduction (#6250)

4 years agoRevert "fix cuda half math function is undefined: hpow, htanh (#6225)" (#6249)
Tianqi Chen [Wed, 12 Aug 2020 00:32:57 +0000 (17:32 -0700)]
Revert "fix cuda half math function is undefined: hpow, htanh (#6225)" (#6249)

This reverts commit ed04cdd35f1990959ec788be0131b1388fd11d31.

4 years ago[Parser] Parser 2.0 part 2 (#6162)
Jared Roesch [Tue, 11 Aug 2020 23:31:03 +0000 (16:31 -0700)]
[Parser] Parser 2.0 part 2  (#6162)

* Add code from livestream with JK

* Fix errors parsing ResNet

* Parse metadata section efficiently and do most of plumbing to resolve metadata section references.

* WIP

* Change meta reference to an operator

* Meta references now work

* MetaReference expansion now works

* Start working on source map and move diagnostic context

* Convert tokenizer and parser to use new machinery

* Kill to_json

* Fix comment in type_infer.cc

* Remove old parser

* Rename parser tests and remove old ones

* Record span end information

* Convert to using spans everywhere

* Add span fields back to all Relay constructors

* Start passing spans

* Pass spans around visitors

* Format

* Fix

* Fix

* disable reference lint from string helpers

* Fix tokenizer

* Fix issue with empty metadata section

* Document new span fields and small tweaks

* Formatting

* Add span doc fields

* Add format tweak

* Improve errors and fix the semantic version tags in Prelude

* Update gradient.rly

* Clean up broken spans

* Clean up parser tests and turn on previously skipped tests

* Update errors to handle skipped cases

* Tweak

* Tweak

* Format

* Fix some minor issues with ADT tests

* Format

* Fix path

* WIP

* WIP

* Fix ir_text_printer

* format

* Formatted

* More formatting

* Repair test cases

* Fix CI

* Retrigger CI

4 years ago[Ansor][AutoTVM v2.0] Phase 2: Basic CPU Sketch Search Policy (#6184)
Chenfan [Tue, 11 Aug 2020 20:53:00 +0000 (04:53 +0800)]
[Ansor][AutoTVM v2.0] Phase 2: Basic CPU Sketch Search Policy (#6184)

* Init commit to pass the compile

* First commit to pass the test

* Update

* Add UTs for sketch generation

* Update

* Add ASF to new UT file.

* Update rule for winograd

* Update

* File renamed

* Lint fix

4 years ago[JVM] Support overriding RPCWatchdog termination behavior on Android and other platfo...
Chris Sullivan [Tue, 11 Aug 2020 20:04:26 +0000 (13:04 -0700)]
[JVM] Support overriding RPCWatchdog termination behavior on Android and other platforms (#6216)

* Instead of performing a system exit and leaving unhandled items on
the activity stack, finish the RPCActivity and return cleanly to the
MainActivity where the RPCActivity can be restarted automatically.

* Update doc. string for checkstyle.

4 years agoFix division range estimation error in simplifier (#6244)
Krzysztof Parzyszek [Tue, 11 Aug 2020 15:35:06 +0000 (10:35 -0500)]
Fix division range estimation error in simplifier (#6244)

Division a/b assumes maximum values when b is close to 0. Account
for that when estimating the range for a/b when 0 belongs to the
estimated range for b.

Assume that a division by zero cannot happen in a valid program,
so in such cases treat the range for b as a union
  [b.min_value, -1] u [1, b.max_value]

4 years ago[TFLite] Implemented EXPAND_DIMS Operator for TFLite. (#6243)
Rishabh Jain [Tue, 11 Aug 2020 08:05:55 +0000 (13:35 +0530)]
[TFLite] Implemented EXPAND_DIMS Operator for TFLite. (#6243)

4 years ago[RPC] Update build support for cross compiling apps/cpp_rpc with OpenCL (#6229)
Chris Sullivan [Tue, 11 Aug 2020 07:47:01 +0000 (00:47 -0700)]
[RPC] Update build support for cross compiling apps/cpp_rpc with OpenCL (#6229)

* Standardize support for building and cross compiling apps/cpp_rpc.
* Add cmake coverage for building the C++ RPC server binary
  and update documentation.
* Add support for linking against custom OpenCL SDK employing
  a custom find_opencl macro. This can be useful when cross
  compiling with a custom OpenCL device driver.

* Update OpenCL related documentation.

* Add embedded linux build instructions to apps/cpp_rpc/README.md and
ensure pthread is linked against when OS=Linux is defined. Remove
outdated apps/cpp_rpc/Makefile.

4 years ago[Topi,x86] Split MKL from BLAS. (#6182)
Tristan Konolige [Tue, 11 Aug 2020 02:16:41 +0000 (19:16 -0700)]
[Topi,x86] Split MKL from BLAS. (#6182)

Make cblas and mkl seperate entities in cmake and topi, allowing users
to use both a BLAS library and MKL. In the future, MKL specific
functions can be added easily. MKLDNN is also split off from MKL and
BLAS for the same reasons.

Other improvements:
  - cblas and mkl strategies are now only applied when they are viable.
  - compile_engine will log which implementation it has chosen and why.

4 years agofix cuda half math function is undefined: hpow, htanh (#6225)
cloud-mxd [Mon, 10 Aug 2020 21:53:15 +0000 (05:53 +0800)]
fix cuda half math function is undefined: hpow, htanh (#6225)

4 years ago[Relay]Refine tensorflow frontend 1.x & 2.x compatibility (#6240)
Tianming Xu [Mon, 10 Aug 2020 16:00:53 +0000 (00:00 +0800)]
[Relay]Refine tensorflow frontend 1.x & 2.x compatibility (#6240)

* [Relay]Refine tensorflow frontend 1.x & 2.x compatibility

* fix lint error

* revert gpu related changes

4 years ago[BYOC][ACL] Improve installation tutorial (#6170)
lhutton1 [Mon, 10 Aug 2020 15:56:09 +0000 (16:56 +0100)]
[BYOC][ACL] Improve installation tutorial (#6170)

* [BYOC][ACL] Improve installation tutorial

Improves installation script so that ACL can be built natively and improves tutorial to give clearer information on how ACL can be installed using two different methods.

Change-Id: I6cec98b4b0a7dc2b151b36583d3d28f2b85f8702

* Address comments

Change-Id: I88db6d9d539a8f06e2dfe1b9a0a3ac7a4b46cece

4 years ago[TOPI, Cuda] Fix conv2d_transpose output padding (#6236)
Wuwei Lin [Mon, 10 Aug 2020 15:37:09 +0000 (11:37 -0400)]
[TOPI, Cuda] Fix conv2d_transpose output padding (#6236)

4 years ago[TIR][Hybrid] Hybrid Script Support for TIR (#6227)
Bohan Hou [Mon, 10 Aug 2020 15:25:01 +0000 (23:25 +0800)]
[TIR][Hybrid] Hybrid Script Support for TIR (#6227)

4 years ago[TFLite] Implemented ONE_HOT Operator for TFLite (#6223)
Rishabh Jain [Mon, 10 Aug 2020 12:21:20 +0000 (17:51 +0530)]
[TFLite] Implemented ONE_HOT Operator for TFLite (#6223)

4 years ago[COMMUNITY] jcf94 -> Reviewer (#6241)
Tianqi Chen [Mon, 10 Aug 2020 09:09:32 +0000 (02:09 -0700)]
[COMMUNITY] jcf94 -> Reviewer (#6241)

4 years ago[Relay][Op] Add unbiased variance op and corresponding support in pytorch frontend...
shiwenloong [Mon, 10 Aug 2020 06:07:43 +0000 (14:07 +0800)]
[Relay][Op] Add unbiased variance op and corresponding support in pytorch frontend (#6232)

4 years ago[uTVM] fix crt building and running error (#6231)
windclarion [Sun, 9 Aug 2020 14:00:53 +0000 (22:00 +0800)]
[uTVM] fix crt building and running error (#6231)

Signed-off-by: windclarion <windclarion@gmail.com>
4 years ago[BYOC][JSON] json_node.h should include data_type.h (#6224)
lhutton1 [Sun, 9 Aug 2020 01:27:03 +0000 (02:27 +0100)]
[BYOC][JSON] json_node.h should include data_type.h (#6224)

Fixes compilation issue after #6214.

Change-Id: I07e25356bbfe4a7bd0950f2672441ce1c338dc3f

4 years ago[FIX] Verify that tensor reshape is valid. (#6215)
Tristan Konolige [Sun, 9 Aug 2020 01:26:36 +0000 (18:26 -0700)]
[FIX] Verify that tensor reshape is valid. (#6215)

4 years ago[Relay][Dynamic] Add Dynamic Resize Op (#6198)
Matthew Brookhart [Sat, 8 Aug 2020 00:08:52 +0000 (17:08 -0700)]
[Relay][Dynamic] Add Dynamic Resize Op (#6198)

* WIP

* optionally remove output shape inference from topi

* fix resize

* add resize to dynamic_to_static pass

add resize to dynamic_to_static pass

* fix clang-format

* fix bad rebase

* add argument to dynamic resize doc string

* fix i386 test

* fix lint

4 years ago[runtime][cublas] fix typo (#6230)
cloud-mxd [Fri, 7 Aug 2020 11:38:11 +0000 (19:38 +0800)]
[runtime][cublas] fix typo (#6230)

4 years ago[Relay][Pass] Support combine multiple dense op just into dense (#6062)
wrongtest [Fri, 7 Aug 2020 07:29:37 +0000 (15:29 +0800)]
[Relay][Pass] Support combine multiple dense op just into dense (#6062)

* feat: Support combine multiple matmuls to flat matmul

* fix: Change to_batch -> to_batch_matmul and enrich docstring

* feat: Add wrapped batching ops pass for python

4 years ago[C++ RPC] fix typo to keep same with source code (#6220)
windclarion [Fri, 7 Aug 2020 04:23:39 +0000 (12:23 +0800)]
[C++ RPC] fix typo to keep same with source code (#6220)

Signed-off-by: windclarion <windclarion@gmail.com>
4 years agoReshape with dynamic shape arg (#6208)
Dmitriy Smirnov [Fri, 7 Aug 2020 03:08:35 +0000 (04:08 +0100)]
Reshape with dynamic shape arg (#6208)

Reshape operation updated to take shape from second operand.
In case if shape is provided using second operand it
can be a tensor now.

4 years ago[ONNX]Mod operator, bug fix (#6160)
Siju Samuel [Fri, 7 Aug 2020 00:57:20 +0000 (06:27 +0530)]
[ONNX]Mod operator, bug fix (#6160)

* Onnx mod, bug fix

* Added comment for the mod/floor_mod behaviour difference between numpy & relay

4 years ago[PYTORCH]Std op without specified dimensions support (#6226)
shiwenloong [Fri, 7 Aug 2020 00:55:46 +0000 (08:55 +0800)]
[PYTORCH]Std op without specified dimensions support (#6226)