platform/upstream/tvm.git
5 years ago[CPP] Refactor remove tvm/tvm.h (#3523)
Tianqi Chen [Wed, 10 Jul 2019 01:40:10 +0000 (18:40 -0700)]
[CPP] Refactor remove tvm/tvm.h (#3523)

5 years ago[Relay][Testing] Relay-to-Python compilation (#3156)
Steven S. Lyubomirsky [Wed, 10 Jul 2019 01:39:14 +0000 (18:39 -0700)]
[Relay][Testing] Relay-to-Python compilation (#3156)

* First pass at Relay-to-Python converter testing utility

* Indicate astor as a dependency

* Add astor dep to host as well

* Typos and small bugs

* Handle ADTs and matching in Python conversion

* Remove any dependency on ast.parse

* Eliminate unnecessary type var field in Python version of ConstructorValue (already gone on C++ side)

* Update constructor value, fix syntax errors

* Don't forget keywords arg on Call nodes

* Fix some incorrect calls to ast nodes

* Fix more calls, a little more cleaning up

* Missing cases in attr conversion

* Lower op calls instead of running them through interpreter, as in @MarisaKirisame's AoT compiler

* We do still need the module

* Remove changes to op attrs: Will PR separately

* Smoke test and corrections

* More tests and fixes

* Ensure imports are properly global in generated Python code

* Add unit tests for refs

* Add unit test for tuple indexing

* Add unit test for if expression

* Remove astor dependency

* Remove astor from meta.yaml too

* Fix if test and add basic local function test

* Add global function test, refactor earlier tests

* Correct 'clause' field in ADT so Python and C++ field names match

* More fixes and tests for matching and constructors

* Dramatically simplify matching: no need for a thunk

* Improve ref writing test

* Ensure local recursion works

* cleanup

* Add test for global recursion

* Add test for higher-order calls

* Get ops working, add basic tests

* Remove accidentally duplicated test

* More docstrings to appease pylint

* Forgot to fix a test using constructor values

* Reduce optimization level in fusion and fix tuple input to operators

* Test op with tuple output, fix tuple output code

* Add unit test for batch norm

* Add a couple more tricky test cases

* Correct nat constructor to drop unnecessary field

* Fix the op attrs file (accidentally reduced it)

* Address review comments

* Adapt to new ConstructorValue representation (no more runtime dep on module)

* Use pass manager and updated interfaces. Extend module.from_expr to accommodate necessary demands

* Use sequential return value

* Lift out nested conditionals

* Replace triple single quotes with triple double quotes

* Use main variable instead of entry_func

5 years ago[Relay][VM]Compiling pattern matching (#3470)
Wei Chen [Tue, 9 Jul 2019 18:48:44 +0000 (11:48 -0700)]
[Relay][VM]Compiling pattern matching (#3470)

* [Relay][VM]Compiling pattern matching

* Fix lint

* Remove debug code

* Move TreeNode definition

* merge ifi and selecti, todo: remove them

* fix lint

* remove ifi and selecti

* rename GetTagi to GetTag

* fix dltype

* fix more dltype

* Generalize If and select, and rename to Ifi and Selecti

* Fix lint

* Rename Ifi to If

* Change register default to match value

* Remove bad specialization for Move

* Stop use Select

* Remove Select

* TreeNode refactor

* Change entry_func name

* Remove Cmp due to rebase issue

5 years ago[Relay] Clip gradient: grad * (select(x < min || max < x, 0, 1)) (#3509)
Amy Wang [Tue, 9 Jul 2019 17:59:43 +0000 (13:59 -0400)]
[Relay] Clip gradient: grad * (select(x < min || max < x, 0, 1)) (#3509)

5 years agoRelaxing convolution infer checks. (#3511)
Animesh Jain [Tue, 9 Jul 2019 16:46:43 +0000 (09:46 -0700)]
Relaxing convolution infer checks. (#3511)

- Weight dtype can be different than idtype. So, using the weight tensor to set
the dtype of weight.
- For conv2d NCHWc operator, the weight can be of any dimension. For int8
computation on Intel, it can be 7D. Relaxing the weight type checking.

5 years ago[Vulkan] Added conversion from bool to float. (#3513)
Josh Fromm [Tue, 9 Jul 2019 03:20:22 +0000 (20:20 -0700)]
[Vulkan] Added conversion from bool to float. (#3513)

* Added bool to float conversion support to spirv ir builder.

* Added unittest for vulkan bool conversion.

* Typo fix.

5 years ago[Relay] Roundtrip part of pretty printer and parser (#3460)
雾雨魔理沙 [Tue, 9 Jul 2019 00:30:43 +0000 (17:30 -0700)]
[Relay] Roundtrip part of pretty printer and parser (#3460)

* init

fix rebase

lint

fix cmake

try again

fix ci

* add gitignore

* fix format

* do not include .interp and .tokens

5 years agoPassing dilation argument to account for API change. (#3510)
Animesh Jain [Tue, 9 Jul 2019 00:22:01 +0000 (17:22 -0700)]
Passing dilation argument to account for API change. (#3510)

5 years ago[Relay][Transform] Support Dumping IR to help debugging (#3493)
Zhi [Mon, 8 Jul 2019 20:57:57 +0000 (13:57 -0700)]
[Relay][Transform] Support Dumping IR to help debugging (#3493)

* [Relay][Transform] Support Dumping IR to help debugging

* debugprint->printir

5 years ago[VTA] TSIM improvements and fixes (#3505)
Luis Vega [Mon, 8 Jul 2019 06:47:48 +0000 (23:47 -0700)]
[VTA] TSIM improvements and fixes (#3505)

* add tsim init function

* add sim device

* test wait and resume

* launch simulation thread from DPILoader

* add VTASimDPI module to handle all simulation related stuff

* test tsim init

* move exit to simdpi module

* update vta driver

* add chisel DPI module

* get back simshell

* update vta to support dpi sim

* update unittests

* add tsim to integration-conv2d test

* run resnet on tsim

* remove max-cycles

* match tsim counters with sim counters

* use env in simulator to switch between sim and tsim

* update unittest

* rollback conv2d test

* update resnet

* add stats to matrix multiply

* add stats

* print stats after assert

* update other tests

* add stats to gemm

* add return and remove unused libs

* add missing arg

* return lib

* update comments for linter

* add more comments to VTASimDPI module

* remove trailing spaces

* remove trailing spaces

5 years ago[ARITH] More recursive rewrite rule, cleanup simplify tests (#3502)
Tianqi Chen [Sun, 7 Jul 2019 05:48:43 +0000 (22:48 -0700)]
[ARITH] More recursive rewrite rule, cleanup simplify tests (#3502)

5 years ago[ARITH] Bugfix div subtract rewrite rule (#3504)
Tianqi Chen [Sun, 7 Jul 2019 03:44:13 +0000 (20:44 -0700)]
[ARITH] Bugfix div subtract rewrite rule (#3504)

5 years ago[TOPI] add basic scheduling for conv2d_transpose on x86 (#3491)
Yida Wang [Sun, 7 Jul 2019 03:11:30 +0000 (20:11 -0700)]
[TOPI] add basic scheduling for conv2d_transpose on x86 (#3491)

* initialize cond 2d transpose scheduling on x86

* refine the scheduler a bit

* fix for lint

* address review comments; remove duplicate code

* fix lint

5 years ago[ARITH] Refactor: Remove un-necessary usage of ComputeExpr (#3503)
Tianqi Chen [Sat, 6 Jul 2019 21:44:46 +0000 (14:44 -0700)]
[ARITH] Refactor: Remove un-necessary usage of ComputeExpr (#3503)

5 years agoAndroid RPC README improvements (#3500)
Ruslan Baratov [Sat, 6 Jul 2019 16:37:30 +0000 (19:37 +0300)]
Android RPC README improvements (#3500)

- Fix APK path
- Add ADB install/uninstall instructions

5 years ago[relay][frontend] Return Module from get_workload (#3483)
Zhi [Sat, 6 Jul 2019 04:23:27 +0000 (21:23 -0700)]
[relay][frontend] Return Module from get_workload (#3483)

* [relay][frontend] Return Module from get_workload

* pass entry_func to autotvm

* disable tune

* add property to module

* mod.entry_func to main

* .main -> mod["main"]

* fix

5 years agoAndroid demo: Docker improvements (#3499)
Ruslan Baratov [Sat, 6 Jul 2019 03:41:25 +0000 (06:41 +0300)]
Android demo: Docker improvements (#3499)

- Install OpenCL headers
- Set ANDROID_HOME environment variable

5 years ago[Relay][Module] Make tags for ADT constructors and ConstructorValues more robust...
Steven S. Lyubomirsky [Fri, 5 Jul 2019 20:58:16 +0000 (13:58 -0700)]
[Relay][Module] Make tags for ADT constructors and ConstructorValues more robust (#3369)

* Use hash of ADT name and constructor idx to generate tag, add reverse mapping to module and use where appropriate

* Lint and build fixes

* Add round-tripping test for getting constructors by tag

* Use int64_t everywhere for tags

* Add additional identity check

* Bring out _arg_to_ast again

* Use 8-bit hash of GTV name as MSB of tag, index as LSB for more readable tags

* Use int32 instead of int64 for tag

5 years ago[VTA][Hotfix] Avoiding error when environment variable is not set (#3497)
Thierry Moreau [Fri, 5 Jul 2019 20:53:01 +0000 (13:53 -0700)]
[VTA][Hotfix] Avoiding error when environment variable is not set (#3497)

* avoid error when env var is not set

* extra content

5 years agoTutorial: Use Python 3 (#3498)
Ruslan Baratov [Fri, 5 Jul 2019 18:17:51 +0000 (21:17 +0300)]
Tutorial: Use Python 3 (#3498)

5 years agoDocker: Install Python packages 'requests' and 'Pillow' (#3495)
Ruslan Baratov [Thu, 4 Jul 2019 19:09:47 +0000 (22:09 +0300)]
Docker: Install Python packages 'requests' and 'Pillow' (#3495)

Needed for:

- https://github.com/dmlc/tvm/blob/287078c33db85d4f312d8d2457a064442d9d18c3/tutorials/frontend/deploy_model_on_android.py#L30
- https://github.com/dmlc/tvm/blob/287078c33db85d4f312d8d2457a064442d9d18c3/tutorials/frontend/deploy_model_on_android.py#L37
- https://github.com/dmlc/tvm/blob/287078c33db85d4f312d8d2457a064442d9d18c3/python/tvm/contrib/download.py#L58

5 years ago[Relay] Fix PE (#3482)
雾雨魔理沙 [Thu, 4 Jul 2019 04:58:51 +0000 (21:58 -0700)]
[Relay] Fix PE (#3482)

5 years agoPre-allocate buffer for x86 roi_align (#3475)
Yao Wang [Wed, 3 Jul 2019 17:08:04 +0000 (10:08 -0700)]
Pre-allocate buffer for x86 roi_align (#3475)

* Pre-allocate buffer for x86 roi_align

* Fix typo

5 years ago[Relay] use transform instead of ir_pass for CPS (#3485)
雾雨魔理沙 [Wed, 3 Jul 2019 14:21:44 +0000 (07:21 -0700)]
[Relay] use transform instead of ir_pass for CPS (#3485)

5 years agoproducing simulation statistics instead of time to get useful information out of...
Thierry Moreau [Wed, 3 Jul 2019 03:25:49 +0000 (20:25 -0700)]
producing simulation statistics instead of time to get useful information out of simulation runs (#3481)

5 years ago[Relay] Continuation Passing Style (#3456)
雾雨魔理沙 [Wed, 3 Jul 2019 02:45:23 +0000 (19:45 -0700)]
[Relay] Continuation Passing Style (#3456)

* save

add

me find type checker problem

save

save

lint

do

lint

reset ti

add some doc

add failed test case

add recursion for cps

add recursion for cps

fix pytest

lint

save

fix test error

lint

save

fix error

* fix rebase

* fix

* fix test

* lint

* lint

* restore rewriteannotationops

* do

5 years agoAdd dockerfiles for the conda package builds (#3344)
abergeron [Tue, 2 Jul 2019 16:23:14 +0000 (12:23 -0400)]
Add dockerfiles for the conda package builds (#3344)

* First shot

* Add dockerfile for CPU too

* Finish the build infrastructure

* Remove extra file

* Comment out the Jenkinsfile section since it is not ready

* Add missing license headers

* Update to newer cudnn that anaconda packaged

* Bump the build numbers for the newer cudnn

* Bring back the toolchain option with a tweak for cuda

* Cache some large packages in the docker and update to llvm 7.0.0

* Merge all the python packages together

* First fix for the conda cuda builds (again)

* Use the tarball version of cudnn since tvm has trouble detecting the other one

* Use llvm 8.0 from the numba packages

* Also use llvm 8.0 for the cpu builds

* Don't use the anaconda compiler for OS X

* Enable Metal on OS X builds

* Make sure to detect undefined variables in scripts

* Fix build when not using cuda

5 years agoDelete _ir_pass.pyi
Tianqi Chen [Tue, 2 Jul 2019 16:17:57 +0000 (09:17 -0700)]
Delete _ir_pass.pyi

5 years agoClean up pass.h (#3312)
Zhi [Tue, 2 Jul 2019 16:14:52 +0000 (09:14 -0700)]
Clean up pass.h (#3312)

5 years ago[Codegen] Support broadcast op with symbolic shape (#3389)
Yizhi Liu [Tue, 2 Jul 2019 07:20:26 +0000 (00:20 -0700)]
[Codegen] Support broadcast op with symbolic shape (#3389)

* [Codegen] Support broadcast op with symbolic shape

* fix case where last dim = 1

* use enum; simplify stride calculation; improve doc

* fix lint

* improve py doc

5 years ago[Runtime] Android argsort support (#3472)
Josh Fromm [Tue, 2 Jul 2019 04:16:12 +0000 (21:16 -0700)]
[Runtime] Android argsort support (#3472)

* Add contrib sort functions to android rpc app.

* replaced tab with spaces oops.

5 years ago[Relay] fix 'please use input parameter mod warning' triggered in build_module (...
雾雨魔理沙 [Tue, 2 Jul 2019 02:29:56 +0000 (19:29 -0700)]
[Relay] fix 'please use input parameter mod warning' triggered in build_module (#3452)

5 years ago[RUNTIME] Only checks the custom data type if it is bigger than the specified range...
Tianqi Chen [Mon, 1 Jul 2019 22:53:32 +0000 (15:53 -0700)]
[RUNTIME] Only checks the custom data type if it is bigger than the specified range (#3471)

5 years ago[ANALYSIS] Mac count deconv (#3469)
Yida Wang [Mon, 1 Jul 2019 22:09:50 +0000 (15:09 -0700)]
[ANALYSIS] Mac count deconv (#3469)

* add mac count for conv 2d transpose

* add the explanation of missing parameter in docstring

* typo

* fix pylint

5 years agoMigrate simplifier to new infra. (#3368)
Tianqi Chen [Mon, 1 Jul 2019 21:07:45 +0000 (14:07 -0700)]
Migrate simplifier to new infra. (#3368)

5 years ago[Relay][Pass] Only allow Module -> Module for opts managed by pass infra (#3430)
Zhi [Mon, 1 Jul 2019 19:50:39 +0000 (12:50 -0700)]
[Relay][Pass] Only allow Module -> Module for opts managed by pass infra (#3430)

* [Relay][Pass] Only allow Module -> Module for opts managed by pass infra

* revert gradient pass

5 years ago[ARITH] Canonicalize comparison to move constant to one side (#3467)
Tianqi Chen [Mon, 1 Jul 2019 01:05:48 +0000 (18:05 -0700)]
[ARITH] Canonicalize comparison to move constant to one side (#3467)

5 years ago[ARITH][SCHEDULE] Update schedule to use the new analyzer (#3466)
Tianqi Chen [Mon, 1 Jul 2019 00:29:58 +0000 (17:29 -0700)]
[ARITH][SCHEDULE] Update schedule to use the new analyzer (#3466)

5 years agoUpdate tflite wheel version to 1.13.1 (#3435)
Alexander Pivovarov [Sun, 30 Jun 2019 19:07:23 +0000 (09:07 -1000)]
Update tflite wheel version to 1.13.1 (#3435)

5 years ago[ARITH] CanonicalSimplifier, better folding, eliminate store. (#3464)
Tianqi Chen [Sun, 30 Jun 2019 16:24:45 +0000 (09:24 -0700)]
[ARITH] CanonicalSimplifier, better folding, eliminate store. (#3464)

5 years ago[ARITH] Improve min/max/div cases in RewriteSimplify (#3463)
Tianqi Chen [Sat, 29 Jun 2019 23:12:43 +0000 (16:12 -0700)]
[ARITH] Improve min/max/div cases in RewriteSimplify (#3463)

[PASS] Use new infra for lower warp memory
[ARITH] EvalSet recursively evaluates set in case dom_map contains set that need to be relaxed.

5 years agoPartition fix with rfactor, simplify and likely predicates. (#3444)
Christian Sarofeen [Sat, 29 Jun 2019 09:25:03 +0000 (05:25 -0400)]
Partition fix with rfactor, simplify and likely predicates. (#3444)

5 years ago[Bugfix] Fix AutoTVM bug (#3462)
Haichen Shen [Sat, 29 Jun 2019 03:30:06 +0000 (20:30 -0700)]
[Bugfix] Fix AutoTVM bug (#3462)

* fix autotvm

* fix bug when heap_items is empty

5 years agoUpdate README.md
Tianqi Chen [Fri, 28 Jun 2019 19:36:14 +0000 (12:36 -0700)]
Update README.md

5 years agoMigrate badge to new job (#3459)
Tianqi Chen [Fri, 28 Jun 2019 19:28:27 +0000 (12:28 -0700)]
Migrate badge to new job (#3459)

5 years ago[CI] Fix windows build, add azure pipeline (#3458)
Tianqi Chen [Fri, 28 Jun 2019 19:24:04 +0000 (12:24 -0700)]
[CI] Fix windows build, add azure pipeline (#3458)

5 years ago[VTA][Relay] Relay Compilation + AutoTVM compatible operator libraries for VTA (...
Thierry Moreau [Fri, 28 Jun 2019 16:28:20 +0000 (09:28 -0700)]
[VTA][Relay] Relay Compilation + AutoTVM compatible operator libraries for VTA (#3135)

5 years ago[Relay] Feature Detection (#3238)
雾雨魔理沙 [Fri, 28 Jun 2019 15:11:51 +0000 (08:11 -0700)]
[Relay] Feature Detection (#3238)

* init

init

lint

rename

ci

fix

add

add some doc

save

add some test

add some test

lint

lint

lint

* fix build

5 years ago[Relay] Fix ad for conditional expression (#3453)
雾雨魔理沙 [Fri, 28 Jun 2019 09:09:17 +0000 (02:09 -0700)]
[Relay] Fix ad for conditional expression (#3453)

* save

* fix

5 years agoNested rfactor fix, update predicates as well as source. (#3382)
Christian Sarofeen [Fri, 28 Jun 2019 06:53:12 +0000 (02:53 -0400)]
Nested rfactor fix, update predicates as well as source. (#3382)

* Nested rfactor fix, update predicates as well as source.

* Linter

* Syntax fix.

5 years ago[RELAY] [OP] [MXNet Frontend] Add sequence_mask (#3437)
Xingjian Shi [Fri, 28 Jun 2019 04:51:04 +0000 (21:51 -0700)]
[RELAY] [OP] [MXNet Frontend] Add sequence_mask (#3437)

* Add sequence_mask

use exactly the same arguments as mxnet

fix

* fix lint

* fix lint

* add mxnet conversion + relay

* update

* update doc

* fix pylint

* fix doc

* address comment

* try to address comments

* try to enable shape check for valid_length

* fix

* try to fix

* fix bug

* try to fix

* address comment

* address comment

5 years ago[Relay] Register abs gradient: grad * (select(x < 0, -1, 1)) (#3447)
Amy Wang [Fri, 28 Jun 2019 03:25:38 +0000 (23:25 -0400)]
[Relay] Register abs gradient: grad * (select(x < 0, -1, 1)) (#3447)

5 years agofix deprecation warning (#3446)
雾雨魔理沙 [Fri, 28 Jun 2019 03:17:47 +0000 (20:17 -0700)]
fix deprecation warning (#3446)

5 years agoMemory leak in the relay interpreter (#3448)
hlu1 [Fri, 28 Jun 2019 02:33:30 +0000 (19:33 -0700)]
Memory leak in the relay interpreter (#3448)

5 years ago[Relay][Parser] simplify build script, remove python 2 support (#3419)
雾雨魔理沙 [Fri, 28 Jun 2019 00:35:03 +0000 (17:35 -0700)]
[Relay][Parser] simplify build script, remove python 2 support  (#3419)

* simplify build script, remove python 2 support

* remove py2 file

* update py3

5 years ago[Relay] Fix reduce axis bug (#3422)
Altan Haan [Thu, 27 Jun 2019 17:03:29 +0000 (10:03 -0700)]
[Relay] Fix reduce axis bug (#3422)

* fix relay reduce axis bug

* add tests for reduce bug

5 years ago[Relay][Frontend] Fix tensorflow frontend lstm forget bias adding order (#3410)
ttyang1018 [Thu, 27 Jun 2019 17:01:17 +0000 (01:01 +0800)]
[Relay][Frontend] Fix tensorflow frontend lstm forget bias adding order (#3410)

5 years agoGraphTuner supports relay.module as input (#3434)
Yao Wang [Thu, 27 Jun 2019 17:00:08 +0000 (10:00 -0700)]
GraphTuner supports relay.module as input (#3434)

5 years agoUse print() function in both Python 2 and Python 3 (#3440)
cclauss [Thu, 27 Jun 2019 16:52:00 +0000 (18:52 +0200)]
Use print() function in both Python 2 and Python 3 (#3440)

Discovered via: __flake8 . --count --select=E9,F63,F72,F82 --show-source --statistics__

Legacy __print__ statements are syntax errors in Python 3 but __print()__ function works as expected in both Python 2 and Python 3.

5 years ago[VTA][TSIM] Verilator compile report error for printf (#3438)
Hua Jiang [Thu, 27 Jun 2019 16:38:27 +0000 (09:38 -0700)]
[VTA][TSIM] Verilator compile report error for printf (#3438)

[Symptom]
after follow the tsim example readme, doing verilator install by 'sudo apt-get-install verilator'
Once enable 'debug' or manually add 'printf' logic in chisel module, verilator would report
following error.
'syntax error, unexpected INTEGER NUMBER, expecting IDENTIFIER'

[Fix]
upgrade verilator to 4.012, issue fixed.

[Solution]
Link README.md verilator install steps with verilator home website
install instruction.

5 years agoAdd mod supoort in relay.build (#3424)
Alexander Pivovarov [Thu, 27 Jun 2019 16:37:51 +0000 (06:37 -1000)]
Add mod supoort in relay.build (#3424)

5 years agoUndefined name: Typo in variable name sotrage_order --> storage_order (#3439)
cclauss [Thu, 27 Jun 2019 16:36:53 +0000 (18:36 +0200)]
Undefined name: Typo in variable name sotrage_order --> storage_order (#3439)

Discovered via: __flake8 . --count --select=E9,F63,F72,F82 --show-source --statistics__

5 years agoFix Windows build (#3429)
Li [Thu, 27 Jun 2019 16:36:10 +0000 (09:36 -0700)]
Fix Windows build (#3429)

5 years ago[AutoTVM] Fix a bug in simulated annealing (#3413)
Lianmin Zheng [Thu, 27 Jun 2019 08:40:25 +0000 (16:40 +0800)]
[AutoTVM] Fix a bug in simulated annealing (#3413)

* [AutoTVM] Fix a bug in simulated annealing

* Update sa_model_optimizer.py

5 years ago[Relay] Add ResizeNearestNeighbor and CropAndResize in tf converter (#3393)
Yong Wu [Tue, 25 Jun 2019 08:38:55 +0000 (01:38 -0700)]
[Relay] Add ResizeNearestNeighbor and CropAndResize in tf converter (#3393)

5 years ago[VTA] Add VTA PYNQ metal_test bitstream program logic and fix compile issue. (#3400)
Hua Jiang [Tue, 25 Jun 2019 07:26:47 +0000 (00:26 -0700)]
[VTA] Add VTA PYNQ metal_test bitstream program logic and fix compile issue. (#3400)

* [VTA] Add VTA PYNQ metal_test bitstream program logic and fix couple compile issue.

Issue:
VTAProgram not exist and cause compile error.
No logic to program the bitstream into FPGA.
metal test still use pynq 2.1 library which not support on latest
pynq 2.4.

Solution:
remove old VTAProgram.
when setting is pynq, program the bitstream during compile.
change DMA link library to libcma.

* Address review commends.

5 years ago[Runtime] Allow for parameter sharing in GraphRuntime (#3384)
Andrew Tulloch [Tue, 25 Jun 2019 04:06:20 +0000 (21:06 -0700)]
[Runtime] Allow for parameter sharing in GraphRuntime (#3384)

Summary:

In multi-threaded applications where we have multiple inferences on the
same model in parallel (consider e.g. a TTS system handling multiple
requests), it can be useful to share the parameters of a model amongst
these multiple instances. This improves the cache utilization behaviour
of the system, as multiple cores can use the same set of weights instead
of evicting the identical copies of weights in a shared cache.

As the underlying `NDArray` instances in `data_entry_` implement a
ref-counted based sharing system, this is a simple modification of the
`GraphRuntime::LoadParams` logic to instead copy parameters from an
existing GraphRuntime instance. This is a little ugly in that we need
both the pre-existing GraphRuntime instance, as well as the 'serialized'
params (since we need to know the set of names we should copy), but
without imposing additional assumptions (i.e. storing the set of param
names in GraphRuntime, and enforcing that shared param names are
identical to the parameters set in the preceding `LoadParams` call),
this seems unavoidable.

Test Plan:

Unit test added.

5 years agoFixing package path in tflite test (#3427)
Sammy [Tue, 25 Jun 2019 03:55:55 +0000 (23:55 -0400)]
Fixing package path in tflite test (#3427)

5 years agofix (#3417)
雾雨魔理沙 [Mon, 24 Jun 2019 04:40:14 +0000 (21:40 -0700)]
fix (#3417)

5 years agoAdd Reduce operators to TFLite (#3421)
Alexander Pivovarov [Mon, 24 Jun 2019 03:39:43 +0000 (17:39 -1000)]
Add Reduce operators to TFLite (#3421)

5 years ago[Frontend][MxNet] Support bidirectional RNN layer (#3397)
Haichen Shen [Sun, 23 Jun 2019 01:36:07 +0000 (18:36 -0700)]
[Frontend][MxNet] Support bidirectional RNN layer (#3397)

* Support bidirectional RNN layer

* tweak

* tweak

5 years agoAdd nix to gitignore (#3418)
雾雨魔理沙 [Sat, 22 Jun 2019 23:32:50 +0000 (16:32 -0700)]
Add nix to gitignore (#3418)

5 years ago[QUANTIZE] Memorizing the quantize node mapping (#3233)
ziheng [Sat, 22 Jun 2019 21:59:41 +0000 (14:59 -0700)]
[QUANTIZE] Memorizing the quantize node mapping (#3233)

* [QUANTIZE] Support for clip operator

* [QUANTIZE] Memorizing the quantize node mapping.

* [QUANTIZE] Remove use_stop_fusion and skip_k_conv in qconfig

* update

* update

* update

* update

5 years agoFix global var in prelude (#3405)
Wei Chen [Sat, 22 Jun 2019 21:17:29 +0000 (14:17 -0700)]
Fix global var in prelude (#3405)

5 years agoCreate closure object for GlobalVar (#3411)
Wei Chen [Sat, 22 Jun 2019 21:16:58 +0000 (14:16 -0700)]
Create closure object for GlobalVar (#3411)

5 years agoExtend TensorComputeOp to allow scalar inputs (#2606). (#3300)
Jessica Davies [Sat, 22 Jun 2019 04:22:54 +0000 (00:22 -0400)]
Extend TensorComputeOp to allow scalar inputs (#2606). (#3300)

5 years ago[VTA] [APPS] Update README on tsim example (#3409)
Luis Vega [Fri, 21 Jun 2019 18:45:16 +0000 (11:45 -0700)]
[VTA] [APPS] Update README on tsim example (#3409)

* update README

* fix typo

5 years ago [Community] @joshpoll -> Reviewer (#3412)
Lianmin Zheng [Fri, 21 Jun 2019 17:58:30 +0000 (01:58 +0800)]
 [Community] @joshpoll -> Reviewer (#3412)

5 years agoAdd EtaExpand to transform API (#3406)
Wei Chen [Thu, 20 Jun 2019 20:41:41 +0000 (13:41 -0700)]
Add EtaExpand to transform API (#3406)

* Add EtaExpand to transform API

* Add test case

5 years agoto fix issue Target llvm is not enabled[followup] (#3404)
henrywu2019 [Thu, 20 Jun 2019 16:55:46 +0000 (12:55 -0400)]
to fix issue Target llvm is not enabled[followup] (#3404)

5 years ago[Relay] Fix name conflict in PartialEval (#3402)
Wuwei Lin [Thu, 20 Jun 2019 07:25:37 +0000 (15:25 +0800)]
[Relay] Fix name conflict in PartialEval (#3402)

5 years agoreturn mod from frontend for autotvm (#3401)
Zhi [Thu, 20 Jun 2019 03:29:12 +0000 (20:29 -0700)]
return mod from frontend for autotvm (#3401)

5 years ago[VTA] Fix VTA function Vivado Compile Error. (#3375)
Hua Jiang [Thu, 20 Jun 2019 03:23:50 +0000 (20:23 -0700)]
[VTA] Fix VTA function Vivado Compile Error. (#3375)

Issue:
when using vivado compile vta.cc with top function 'vta', vivado
report deadlock error like '...with default size is used in a non -dataflow
region, which may result in deadlock Please consider to resize the
stream using the directive ‘set_directive_stream’ or the ‘HL S stream’
pragma.'

Solution:
give the queue a default size as 8.

5 years ago[Bugfix] Missing headers (#3392)
hlu1 [Wed, 19 Jun 2019 16:51:42 +0000 (09:51 -0700)]
[Bugfix] Missing headers (#3392)

5 years ago[TEST][TENSORFLOW] clean up code (#3342)
zhengdi [Wed, 19 Jun 2019 12:57:38 +0000 (20:57 +0800)]
[TEST][TENSORFLOW] clean up code (#3342)

5 years ago[CI] Update ci-gpu to v0.52 (#3374)
Tianqi Chen [Tue, 18 Jun 2019 19:56:59 +0000 (12:56 -0700)]
[CI] Update ci-gpu to v0.52 (#3374)

* [CI] Update ci-gpu to v0.52

* update nodejs

5 years agoAdd RESIZE operators to realy TFLite frontend (#3370)
Alexander Pivovarov [Tue, 18 Jun 2019 06:03:27 +0000 (23:03 -0700)]
Add RESIZE operators to realy TFLite frontend (#3370)

5 years ago[ARITH] Bugfix min/max const canonicalize rule (#3386)
Tianqi Chen [Tue, 18 Jun 2019 04:51:33 +0000 (21:51 -0700)]
[ARITH] Bugfix min/max const canonicalize rule (#3386)

5 years agohotfix for onnx (#3387)
Zhi [Tue, 18 Jun 2019 04:51:24 +0000 (21:51 -0700)]
hotfix for onnx (#3387)

5 years agoRevert "[Relay][Frontend][ONNX] Fix reshape precompute, and type error (#3230)" ...
Tianqi Chen [Mon, 17 Jun 2019 23:27:53 +0000 (16:27 -0700)]
Revert "[Relay][Frontend][ONNX] Fix reshape precompute, and type error (#3230)" (#3385)

This reverts commit df6957a5ea49806b3073bbb81e339ae379cbbb1c.

5 years agoTFLite: Add fused_activation_function for ADD, SUB, MUL, DIV (#3372)
Alexander Pivovarov [Mon, 17 Jun 2019 19:36:31 +0000 (12:36 -0700)]
TFLite: Add fused_activation_function for ADD, SUB, MUL, DIV (#3372)

5 years ago[Relay][Frontend][ONNX] Fix reshape precompute, and type error (#3230)
Jared Roesch [Mon, 17 Jun 2019 16:58:45 +0000 (09:58 -0700)]
[Relay][Frontend][ONNX] Fix reshape precompute, and type error (#3230)

5 years ago[nnvm] fix nnvm compiler build module error (#3378)
Howave [Mon, 17 Jun 2019 16:56:58 +0000 (00:56 +0800)]
[nnvm] fix nnvm compiler build module error (#3378)

5 years ago[Relay][Pass] CanonicalizeCast (#3280)
Wuwei Lin [Mon, 17 Jun 2019 16:56:10 +0000 (00:56 +0800)]
[Relay][Pass] CanonicalizeCast (#3280)

5 years ago[relay][frontend] Return module from frontend parsers (#3353)
Zhi [Mon, 17 Jun 2019 16:55:08 +0000 (09:55 -0700)]
[relay][frontend] Return module from frontend parsers (#3353)

5 years ago[RELAY][PASS] Enable decorating python class as Pass (#3364)
Tianqi Chen [Mon, 17 Jun 2019 16:54:48 +0000 (09:54 -0700)]
[RELAY][PASS] Enable decorating python class as Pass (#3364)

5 years agoadd favicon in rtd (#3379)
Sheng Zha [Mon, 17 Jun 2019 16:52:31 +0000 (09:52 -0700)]
add favicon in rtd (#3379)

5 years agosave (#3033)
雾雨魔理沙 [Sat, 15 Jun 2019 22:08:46 +0000 (15:08 -0700)]
save (#3033)

save

save

save

upstream

lint

remove bad changes

fix build

save

save

please the ci god

Update src/relay/pass/partial_eval.cc

Co-Authored-By: Wei Chen <ipondering.weic@gmail.com>
save

fix test

ci is ANGRY

fix rebase problem

fix rebase

add test

save

save

comment

5 years agoFix typo in word explicitly (#3376)
Alexander Pivovarov [Sat, 15 Jun 2019 04:34:37 +0000 (21:34 -0700)]
Fix typo in word explicitly (#3376)

5 years ago[Relay][VM] Add AllocTensor instruction and better instruction printer (#3306)
Haichen Shen [Fri, 14 Jun 2019 22:18:14 +0000 (15:18 -0700)]
[Relay][VM] Add AllocTensor instruction and better instruction printer (#3306)

* Update vm print & add AllocTensor instruction

* patch

* fix invoke packed

* update cmake

* tweak move

* update invoke_closure

* lint

* add doc

* tweak