platform/upstream/tvm.git
5 years ago{relay,topi}.reinterpret support (#3599)
Andrew Tulloch [Tue, 23 Jul 2019 21:43:27 +0000 (14:43 -0700)]
{relay,topi}.reinterpret support (#3599)

= Motivation

It's useful to expose the tvm::reinterpret functionality to Relay/TOPI users, as
this allows them to build (fused) operators leveraging the bitwise
reinterpretation of an operator. An example is approximate transcendental
functions, which can be implemented similar to:

```.py
    def C(x):
        return relay.expr.const(x, "float32")

    def approx_exp(x):
        x = relay.minimum(relay.maximum(x, C(-88.0)), C(88.0))
        x = C(127.0) + x * C(1.44269504)
        xf = relay.floor(x)
        i = relay.cast(xf, "int32")
        x = x - xf
        Y = C(0.99992522) + x * (C(0.69583354) + x * (C(0.22606716) + x * C(0.078024523)))
        exponent = relay.left_shift(i, relay.expr.const(23, "int32"))
        exponent = relay.reinterpret(exponent, "float32")
        return exponent * Y

    def approx_sigmoid(x):
        # <2.0e-5 absolute error over [-5, 5]
        y = approx_exp(x)
        return y / (y + C(1.0))

    def approx_tanh(x):
        # <4.0e-5 absolute error over [-5, 5]
        x = x * C(2.0)
        y = approx_exp(x)
        return (y - C(1.0)) / (y + C(1.0))
```

See unit tests for implementations of these approximate transendentals.

5 years agoremove tabs (#3603)
Luis Vega [Tue, 23 Jul 2019 17:23:10 +0000 (10:23 -0700)]
remove tabs (#3603)

5 years ago[Relay][Pass][Docs] Update the doc for adding a Relay pass to mention the pass infra...
Steven S. Lyubomirsky [Tue, 23 Jul 2019 17:14:53 +0000 (10:14 -0700)]
[Relay][Pass][Docs] Update the doc for adding a Relay pass to mention the pass infra (#3583)

* Update the Relay adding pass doc to reference the new pass infrastructure

* Correct pass name

Co-Authored-By: Zhi <5145158+zhiics@users.noreply.github.com>
* Align header equals signs

5 years agoChecking the correct dtypes for choosing the Intel int8 instructions. (#3516)
Animesh Jain [Tue, 23 Jul 2019 16:59:40 +0000 (09:59 -0700)]
Checking the correct dtypes for choosing the Intel int8 instructions. (#3516)

5 years ago[Relay] [Training] Allow gradient to return a tuple (#3600)
雾雨魔理沙 [Tue, 23 Jul 2019 09:52:44 +0000 (02:52 -0700)]
[Relay] [Training] Allow gradient to return a tuple (#3600)

5 years ago[Runtime] [ThreadPool] Make SpscTaskQueue::Pop(..) spin_count configurable (#3577)
Andrew Tulloch [Tue, 23 Jul 2019 02:48:55 +0000 (19:48 -0700)]
[Runtime] [ThreadPool] Make SpscTaskQueue::Pop(..) spin_count configurable (#3577)

In cases where we have multiple models or threadpools active, spinning around
`sched_yield()` may not be desirable, as it prevents the OS from effectively
scheduling other threads.

Thus, allow users to conditionally disable this behaviour (via an environment
variable `TVM_THREAD_POOL_SPIN_COUNT`, similar to existing environment flags for
the thread pool such as `TVM_BIND_THREADS`, etc).

This substantially improves tail latencies in some of our multi-tenant
workloads in practice.

Unit tests have been added - on my laptop, running:

```
TVM_THREAD_POOL_SPIN_COUNT=0 ./build/threading_backend_test;
TVM_THREAD_POOL_SPIN_COUNT=1 ./build/threading_backend_test;
./build/threading_backend_test;
```

gives https://gist.github.com/ajtulloch/1805ca6cbaa27f5d442d23f9d0021ce6 (i.e.
97ms -> <1ms after this change)

5 years agoAdd support for Tflite operator SPLIT (#3520)
Ramana Radhakrishnan [Mon, 22 Jul 2019 22:12:09 +0000 (23:12 +0100)]
Add support for Tflite operator SPLIT (#3520)

* [RFC] Initial support for Tflite operator SPLIT

This patch adds initial support for the tflite operator split. However
I am not yet sure how to handle the axis parameter for the split
operator and support it in the test infrastructure. Putting this up for
an initial review and comment.

The split operator in tflite according to
https://www.tensorflow.org/lite/guide/ops_compatibility

appears to take num_or_size_split as a 0D tensor.

I also note that tflite.split is one of the few operators that returns
multiple outputs and thus the helper routines in the tests needed some
massaging to make this work.

@apivarov , could you please review this ?

Thanks,
Ramana

* Fix the axis parameter

Add more tests

* Address review comments

* Try out frozen_gene's suggestion

* Handle split of 1 element

* int32 is only supported in tflite 1.14, let's check that version here.

* Keep this at python3.5

* Add packaging as a python package to be installed

5 years agoUpdate Jenkinsfile
Tianqi Chen [Mon, 22 Jul 2019 18:37:43 +0000 (11:37 -0700)]
Update Jenkinsfile

5 years ago[VTA] Runtime refactor to allow for non-shared memory FPGAs (e.g. F1) (#3554)
Thierry Moreau [Mon, 22 Jul 2019 15:31:37 +0000 (08:31 -0700)]
[VTA] Runtime refactor to allow for non-shared memory FPGAs (e.g. F1) (#3554)

* updated runtime to support non-shared memory FPGAs for instruction and micro-op kernels

* adding driver-defined memcpy function to handle F1 cases

* refactor to include flush/invalidate in memcpy driver function

* update tsim driver

* bug fixes

* cleanup

* pre-allocate fpga readable buffers to improve perf

* fix

* remove instruction stream address rewrite pass for micro op kernels

* fix:

* white spaces

* fix lint

* avoid signed/unsigned compilation warning

* avoid signed/unsigned compilation warning

* fix

* fix

* addressing comments

* whitespace

* moving flush/invalidate out of memmove

* clearnup

* fix

* cosmetic

* rename API

* comment fix

5 years ago[CI] Upgrade LLVM envs (#3590)
Tianqi Chen [Sun, 21 Jul 2019 23:30:31 +0000 (16:30 -0700)]
[CI] Upgrade LLVM envs (#3590)

5 years agoadd coherent, length, and user bits option to Shell Config (#3593)
Luis Vega [Sun, 21 Jul 2019 22:45:48 +0000 (15:45 -0700)]
add coherent, length, and user bits option to Shell Config (#3593)

5 years agobugfix function args order in alu instruction generation (#3592)
Luis Vega [Sat, 20 Jul 2019 03:33:18 +0000 (20:33 -0700)]
bugfix function args order in alu instruction generation (#3592)

5 years ago[Relay] add some check for the ad algorithm (#3585)
雾雨魔理沙 [Fri, 19 Jul 2019 22:55:28 +0000 (15:55 -0700)]
[Relay] add some check for the ad algorithm (#3585)

* do

* fix test

5 years ago[TOPI][RELAY] Add op Size (#3094)
Yong Wu [Fri, 19 Jul 2019 22:06:34 +0000 (15:06 -0700)]
[TOPI][RELAY] Add op Size (#3094)

5 years ago[AutoTVM]Improve graph tuner for multiple subgraphs (#3490)
Yao Wang [Fri, 19 Jul 2019 20:19:37 +0000 (13:19 -0700)]
[AutoTVM]Improve graph tuner for multiple subgraphs (#3490)

* Improve boundary nodes in graph tuner

* Limit output node number

* Fix test

* Improve warning.

* Fix test

5 years ago[RPC] Better handle tempdir if subprocess killed. (#3574)
Balint Cristian [Fri, 19 Jul 2019 16:22:46 +0000 (19:22 +0300)]
[RPC] Better handle tempdir if subprocess killed. (#3574)

5 years agoAdd printer for Layout/BijectiveLayout (#3582)
Yizhi Liu [Fri, 19 Jul 2019 16:21:47 +0000 (09:21 -0700)]
Add printer for Layout/BijectiveLayout (#3582)

5 years agoMention minimum version of python features one should stick to (#3588)
Ramana Radhakrishnan [Fri, 19 Jul 2019 16:21:25 +0000 (17:21 +0100)]
Mention minimum version of python features one should stick to (#3588)

5 years agoavoiding cast None to int errors (#3578)
Thierry Moreau [Fri, 19 Jul 2019 01:35:19 +0000 (18:35 -0700)]
avoiding cast None to int errors (#3578)

5 years agofix topi c++ conv2d_nchw lambda expr issue (#3570)
zacario-li [Fri, 19 Jul 2019 01:34:44 +0000 (09:34 +0800)]
fix topi c++ conv2d_nchw lambda expr issue (#3570)

5 years ago[Relay] parser/pretty printer roundtripping (#3536)
雾雨魔理沙 [Thu, 18 Jul 2019 22:29:22 +0000 (15:29 -0700)]
[Relay] parser/pretty printer roundtripping (#3536)

5 years ago[ARITH] Simplify let (#3568)
Tianqi Chen [Thu, 18 Jul 2019 22:06:38 +0000 (15:06 -0700)]
[ARITH] Simplify let (#3568)

5 years agoEmit DWARF debug information (#3420)
Andrew Tulloch [Thu, 18 Jul 2019 21:56:14 +0000 (14:56 -0700)]
Emit DWARF debug information (#3420)

5 years agoSupport additional architectures beyond x86_64 in ubuntu_install_java (#3546)
Ramana Radhakrishnan [Thu, 18 Jul 2019 17:21:03 +0000 (18:21 +0100)]
Support additional architectures beyond x86_64 in ubuntu_install_java (#3546)

* Support additional architectures beyond x86_64 in ubuntu_install_java

While attempting to get a development environment going for TVM
on my AArch64 desktop I ran into some hardcoding of relevant architectures.

5 years agoDisable MicroTVM on i386 CI (#3569)
Logan Weber [Thu, 18 Jul 2019 17:20:16 +0000 (10:20 -0700)]
Disable MicroTVM on i386 CI (#3569)

5 years ago[Community] Zhi Chen -> Committer (#3572)
Thierry Moreau [Thu, 18 Jul 2019 17:12:22 +0000 (10:12 -0700)]
[Community] Zhi Chen -> Committer (#3572)

Let's welcome Zhi as a new Apache TVM Committer!

5 years agotightening bounding box for IntSet fused in PassUpDomain (#3073)
bulanova-huawei [Thu, 18 Jul 2019 00:15:09 +0000 (20:15 -0400)]
tightening bounding box for IntSet fused in PassUpDomain (#3073)

Apply suggestions from code review

Co-Authored-By: Wei Chen <ipondering.weic@gmail.com>
5 years ago[docs] Add a tutorial for the pass manager (#3515)
Zhi [Wed, 17 Jul 2019 20:28:03 +0000 (13:28 -0700)]
[docs] Add a tutorial for the pass manager (#3515)

* [docs] Add a tutorial for the pass manager

* address comment

* address more comments

* retrigger ci

* address steven's comments

* address comments

* retrigger ci

* Update docs/dev/relay_pass_infra.rst

Co-Authored-By: Steven S. Lyubomirsky <slyubomirsky@gmail.com>
* Update docs/dev/relay_pass_infra.rst

Co-Authored-By: Steven S. Lyubomirsky <slyubomirsky@gmail.com>
* Update docs/dev/relay_pass_infra.rst

Co-Authored-By: Steven S. Lyubomirsky <slyubomirsky@gmail.com>
* Update docs/dev/relay_pass_infra.rst

Co-Authored-By: Steven S. Lyubomirsky <slyubomirsky@gmail.com>
* Update docs/dev/relay_pass_infra.rst

Co-Authored-By: Steven S. Lyubomirsky <slyubomirsky@gmail.com>
* Update docs/dev/relay_pass_infra.rst

Co-Authored-By: Logan Weber <36520469+weberlo@users.noreply.github.com>
* Update docs/dev/relay_pass_infra.rst

Co-Authored-By: Logan Weber <36520469+weberlo@users.noreply.github.com>
5 years ago[Relay][VM]Fix debug statement (#3565)
Wei Chen [Wed, 17 Jul 2019 20:17:18 +0000 (13:17 -0700)]
[Relay][VM]Fix debug statement (#3565)

* [Relay][VM]Fix debug statement

* Change debug statement

5 years agofix pynq 32-bit address pointers (#3558)
Luis Vega [Wed, 17 Jul 2019 06:49:40 +0000 (23:49 -0700)]
fix pynq 32-bit address pointers (#3558)

5 years agoFix build error (#3552)
Yinghai Lu [Wed, 17 Jul 2019 05:01:41 +0000 (22:01 -0700)]
Fix build error (#3552)

* Fix build error

* comments

5 years agofix js test load module example (#3556)
Joshua Z. Zhang [Wed, 17 Jul 2019 04:55:15 +0000 (21:55 -0700)]
fix js test load module example (#3556)

5 years agofix (#3550)
Haichen Shen [Wed, 17 Jul 2019 00:18:43 +0000 (17:18 -0700)]
fix (#3550)

5 years ago[FRONTEND][TENSORFLOW] Some bug fixes for tensorflow NCHW data_format (#3514)
zhengdi [Tue, 16 Jul 2019 17:41:10 +0000 (01:41 +0800)]
[FRONTEND][TENSORFLOW] Some bug fixes for tensorflow NCHW data_format (#3514)

5 years ago[Relay][VM] Port VM, VM compiler, and Object into python (#3391)
Haichen Shen [Tue, 16 Jul 2019 04:02:12 +0000 (21:02 -0700)]
[Relay][VM] Port VM, VM compiler, and Object into python (#3391)

* tmp

* Port vm and object to python

* clean up

* update vm build module

* update

* x

* tweak

* cleanup

* update

* fix rebase

* Rename to VMCompiler

* fix

5 years ago[Runtime] Enable set_input_zero_copy in GraphRuntime (#3416)
Yinghai Lu [Mon, 15 Jul 2019 20:21:04 +0000 (13:21 -0700)]
[Runtime] Enable set_input_zero_copy in GraphRuntime (#3416)

* Enable set_input_zero_copy in GraphRuntime

* Fix LoadParams

* Fix

* lint

* Fix remote context issue

* Fix

* Remove LOG

* Remove unused variables

* Add tests

* works

* More test scenarios

* make it simpler

* Remove unnecessary changes

* Address comments

* More comments

* Address comments

* Fix build

5 years ago[ARITH][BOUND] Fix bound inference to avoid allocating too much (#3526)
Sergei Grechanik [Sun, 14 Jul 2019 19:30:12 +0000 (22:30 +0300)]
[ARITH][BOUND] Fix bound inference to avoid allocating too much (#3526)

* [TVM] Fix bound inference to avoid allocating too much

* [ARITH][BOUND] Pass analyzer to PropBoundToInputs

5 years ago[ARITH][IR] Introduce FloorDiv/Mod (#3479)
Tianqi Chen [Sat, 13 Jul 2019 05:06:29 +0000 (22:06 -0700)]
[ARITH][IR] Introduce FloorDiv/Mod (#3479)

* [ARITH][IR] Introduce FloorDiv/Mod

* Address review comments

* address review comments, fix div sub rule

5 years ago[Relay][Quantization] Fix add_rewrite and UnifyDTypeScale (#3534)
Wuwei Lin [Fri, 12 Jul 2019 04:26:39 +0000 (12:26 +0800)]
[Relay][Quantization] Fix add_rewrite and UnifyDTypeScale (#3534)

* [Relay][Quantization] Fix issue introduced in #3135

* Recover StopFusion

* Fix fmultiref

* Fix lint

5 years ago[DEP] Remove HalideIR from submodule (#3535)
Tianqi Chen [Fri, 12 Jul 2019 00:10:57 +0000 (17:10 -0700)]
[DEP] Remove HalideIR from submodule (#3535)

5 years ago[INFA][IR] Build and Evolve Low-level IR. Remove HalideIR dep. (#3533)
Tianqi Chen [Thu, 11 Jul 2019 21:26:43 +0000 (14:26 -0700)]
[INFA][IR] Build and Evolve Low-level IR. Remove HalideIR dep. (#3533)

* [INFA][IR] Build and Evolve Low-level IR. Remove dep from HalideIR.

* Update include/tvm/node/ir_functor.h

Co-Authored-By: Jared Roesch <roeschinc@gmail.com>
* Update include/tvm/node/ir_functor.h

Co-Authored-By: Jared Roesch <roeschinc@gmail.com>
5 years agoposix_memalign appears in API 17, not 16 (#3532)
hlu1 [Thu, 11 Jul 2019 16:52:36 +0000 (09:52 -0700)]
posix_memalign appears in API 17, not 16 (#3532)

5 years agoAdd Pack operator to TFLite (#3521)
tristan-arm [Wed, 10 Jul 2019 22:03:14 +0000 (23:03 +0100)]
Add Pack operator to TFLite (#3521)

5 years agoinit (#3476)
雾雨魔理沙 [Wed, 10 Jul 2019 20:31:48 +0000 (13:31 -0700)]
init (#3476)

lint

update

address comment

comment out breaking test

5 years ago[bugfix] fix the bug caused by test_any (#3528)
Zhi [Wed, 10 Jul 2019 20:24:49 +0000 (13:24 -0700)]
[bugfix] fix the bug caused by test_any (#3528)

5 years ago[Relay][RFC] Implement type checking for Any (#3221)
Jared Roesch [Wed, 10 Jul 2019 17:16:45 +0000 (10:16 -0700)]
[Relay][RFC] Implement type checking for Any (#3221)

* Implement type checking for Any

Remove code generation related changes

Remove compile changes

Remove more

Remove unification hack

Add some code back that was needed, and clean up test

Refactor test cases

WIP

Implement TypeHint AST

Add test case which should fail

Remove unification changes, and fix bug with let rec

Restore unification for shapes

Improve error reporting while debugging

All examples type check

All examples type check

WIP

First version that works with hints, needs clean up

Remove dead code

Tweaks

Remove type hint

Remove unecessary type hint stuff

Remove more type hints

Clean up

Expose Any expression node

Address CR

Fix

Fix solver

Kill unecessary code

Fix

PyLint

Fix

Relocate loops

Fix license and test

Lint again

Lint again

Fix loops

Fix docstring

Fix template error

Fix compiler issue

Fix compile err

Remove more runtime changes

Restore buffer

Fix segfault

Fix

Fix arange

* Address feedback

* Fix typo

* Fix arange

* Fix op level3

* Fix issue with Python wrapper

5 years agoFix pylint issue in vta/python/vta/top/graphpack.py (#3519)
Ramana Radhakrishnan [Wed, 10 Jul 2019 15:59:01 +0000 (16:59 +0100)]
Fix pylint issue in vta/python/vta/top/graphpack.py (#3519)

This appears in linting using the docker scripts. I'm not sure
why this isn't failing in the standard CI for TVM and it might
be that the docker images haven't been updated in the CI system.

python3 -m pylint vta/python/vta --rcfile=/workspace/tests/lint/pylintrc
Using config file /workspace/tests/lint/pylintrc
************* Module vta.top.graphpack
C:131, 4: Missing method docstring (missing-docstring)

5 years agoFix broken rat install (#3527)
Marcus Shawcroft [Wed, 10 Jul 2019 15:49:55 +0000 (16:49 +0100)]
Fix broken rat install (#3527)

http://www.trieuvan.com/apache//creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.gz
gives a 404 so point the installer at archive.apache.org hopefull that
is more reliable.

5 years agofix test (#3525)
雾雨魔理沙 [Wed, 10 Jul 2019 05:43:37 +0000 (22:43 -0700)]
fix test (#3525)

5 years ago[Relay][Doc] Docs for new op code (#3522)
Wei Chen [Wed, 10 Jul 2019 01:40:42 +0000 (18:40 -0700)]
[Relay][Doc] Docs for new op code (#3522)

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.