Commit Graph

2728 Commits

Author SHA1 Message Date
Lunderberg dbf9ce52d4 [UnitTests] Require cached fixtures to be copy-able, with opt-in. (#8451)
* [UnitTests] Require cached fixtures to be copy-able, with opt-in.

Previously, any class that doesn't raise a TypeError in copy.deepcopy
could be used as a return value in a @tvm.testing.fixture.  This has
the possibility of incorrectly copying classes inherit the default
object.__reduce__ implementation.  Therefore, only classes that
explicitly implement copy functionality (e.g. __deepcopy__ or
__getstate__/__setstate__), or that are explicitly listed in
tvm.testing._fixture_cache are allowed to be cached.

* [UnitTests] Added TestCachedFixtureIsCopy

Verifies that tvm.testing.fixture caching returns copy of object, not
the original object.

* [UnitTests] Correct parametrization of cudnn target.

Previous checks for enabled runtimes were based only on the target
kind.  CuDNN is the same target kind as "cuda", and therefore needs
special handling.

* Change test on uncacheable to check for explicit TypeError
2021-08-17 08:30:27 -07:00
Euntaik 2008d62797 add support for half_pixel_centers in resize (#8689) 2021-08-17 09:52:59 +08:00
Yuanjing Shi d02e50cbaf [AutoScheduler][FIX] Fix exception handling in measure.py (#8754)
* fix exception handling

* fix linting

* stringify the exception from MapResult

* use repr instead if str
2021-08-16 17:57:00 -07:00
Tianqi Zhang (张天启) cddd3485dd [Fix][TOPI] remove wrong fix in x86's dense_nopack operator (#8687) 2021-08-15 23:04:08 -07:00
CircleSpin 2e247825be [Onnx Operators] Celu (#8741)
* complete celu op

* forgot to add test

* change order in convert_map, remove comment, delete import hiccup

Co-authored-by: CircleSpin <jocelyn@pop-os.localdomain>
2021-08-15 23:02:01 -07:00
Andrey Malyshev 49224cb8b8 Fix use of fallback AutoTVM knobs in default scheduling (#8707)
* Fix use of fallback AutoTVM knobs

Previously knob values depended on order of explicit cfg update and cfg.define_split
calls in fallback mode

* Add test for define_split with fallback defined values
2021-08-15 13:33:04 -07:00
AndrewZhaoLuo 994a15164c update docs (#8736)
Co-authored-by: Andrew Zhao Luo <andrewzhaoluo@system76-pc.localdomain>
2021-08-15 09:40:04 -07:00
Alperen Bag e12ddcafd7 [FRONTEND][PYTORCH] Support fo nn.SiLU added (#8753) 2021-08-15 13:01:08 +09:00
Robert Kimball 170add2f2f Add parameter to allow caller to supply a Runner (#8747)
* Add parameter to allow caller to supply a Runner

* Add unit test for passing in runner to graph tuner
2021-08-14 12:00:46 -07:00
Wuwei Lin a06863ac94 [TensorIR][M2a] Storage Align (#8693)
This PR is part of the TensorIR upstreaming effort (#7527), which adds the one
schedule primitive storage_align.

Co-authored-by: Siyuan Feng <Hzfengsy@sjtu.edu.cn>
Co-authored-by: Bohan Hou <32121147+spectrometerHBH@users.noreply.github.com>
Co-authored-by: Ruihang Lai <lairuihangdongdong@qq.com>
Co-authored-by: Hongyi Jin <3231950289@qq.com>
Co-authored-by: Junru Shao <junrushao1994@gmail.com>
2021-08-12 23:54:34 -07:00
Tristan Konolige ccc09fa7cd [TVMC] Switch profile flag to use new profiler (#8710) 2021-08-13 13:36:16 +09:00
Valery Chernov 7cf7adff44 [Torch] chunk and unsafe chunk (#8718)
* alternative chunk op was implemented in pytorch frontend. aten::unsafe_chunk was added to op map in pytorch frontend

* chunk was replaced by new one in pytorch frontend. it is faster in 2.5 times

Co-authored-by: Valery Chernov <valery.chernov@deelvin.com>
2021-08-13 10:54:43 +09:00
Yuanjing Shi 4dd7f6806f [TIR] Use PopenPool instead of multiprocessing.pool (#8492)
Co-authored-by: Wuwei Lin <wuwei@apache.org>
2021-08-12 13:35:04 -07:00
masahi 66ac4705aa [Relay] Dense alter layout fixed for packed input (#8669)
* clean up typerel

* add layout transform when input is 3D

* add test

* update doc to clarify that only 2D input data is supported

* add weight_layout attribute in dense

* remove explicit layout transform from dense_alter_op.py

* Add DensePackInferCorrectLayout to insert layout transform

* relax type rel

* revert type rel relax and add check on dim

* introduce DensePackAttrs to avoid breaking dense op

* try fixing arm compute lib test

* Update tests/python/contrib/test_arm_compute_lib/test_dense.py

Co-authored-by: lhutton1 <35535092+lhutton1@users.noreply.github.com>

* formatting

Co-authored-by: lhutton1 <35535092+lhutton1@users.noreply.github.com>
2021-08-12 10:15:13 -07:00
Valery Chernov 1abd248e4a add in-place methods used by Tacotron2 to pytorch frontend (#8692)
Co-authored-by: Valery Chernov <valery.chernov@deelvin.com>
2021-08-11 07:25:44 +09:00
masahi b7488ef479 [Torch] Fix ELU conversion (#8699) 2021-08-10 18:32:09 +09:00
Junru Shao 3145867d81 [Meta Schedule][M3a] Traced Schedule (#8623)
Co-authored-by: Siyuan Feng <Hzfengsy@sjtu.edu.cn>
Co-authored-by: Bohan Hou <32121147+spectrometerHBH@users.noreply.github.com>
Co-authored-by: Ruihang Lai <lairuihangdongdong@qq.com>
Co-authored-by: Hongyi Jin <3231950289@qq.com>
Co-authored-by: Wuwei Lin <wuwei@apache.org>

Co-authored-by: Siyuan Feng <Hzfengsy@sjtu.edu.cn>
Co-authored-by: Bohan Hou <32121147+spectrometerHBH@users.noreply.github.com>
Co-authored-by: Ruihang Lai <lairuihangdongdong@qq.com>
Co-authored-by: Hongyi Jin <3231950289@qq.com>
Co-authored-by: Wuwei Lin <wuwei@apache.org>
2021-08-09 09:32:42 -07:00
Lunderberg 8679b4f54e [UnitTests] Added cuDNN to default test targets (#8383)
* [Target][UnitTests] Look up target requirements based on tvm.target.Target

- Read target.kind.name instead of using string manipulation.

- Target device query on a non-existent target is no longer an error.
  This occurs if expanding `vulkan -from_device=0` on a non-GPU
  machine.

* [UnitTests] Added cuDNN target to default test targets

Some unit tests explicitly test cudnn in addition to
`tvm.testing.enabled_targets()`.  This moved the cudnn checks into the
same framework as all other targets, and adds it to the default list
of targets to be run.  Also, added `@tvm.testing.requires_cudnn` for
tests specific to cudnn.

* [UnitTests] pytest.xfail for CuDNN conv2d with asymmetric padding

* [Topi][CuDNN] Added handling of dilation to conv2d_cudnn

* [Topi] Skip dynamic batch matmul on cudnn, vulkan, opencl

Previously, cuda/nvptx targets were excluded.  Changed it to look up
by target.kind.name, and to also exclude vulkan/opencl, as the dynamic
lookup currently doesn't work on those backends.

Co-authored-by: Eric Lunderberg <elunderberg@octoml.ai>
2021-08-09 09:54:05 +09:00
齋藤飛鸟 1276033ec5 [Relay][TOPI] Remove redundant cuda kernels caused by fusion of less & logical or (#8618)
* [Fix] Remove redundant cuda kernels caused by fusion of less_less_logical_or

* put the check function in reduction.py and add UT

* fix CI issue

* fix CI

* fix CI

Co-authored-by: saury <saury@saurydeMacBook-Pro.local>
Co-authored-by: saury <lifei59@meituan.com>
2021-08-07 21:18:02 -07:00
Lunderberg 208a537c86 [Refactor] Rename .asnumpy() to .numpy() (#8659) 2021-08-07 19:56:36 -07:00
Andrew Reusch a7297870c0 [microTVM] Project API infrastructure (#8380)
* Initial commit of API server impl.

* initial commit of api client

* Add TVM-side glue code to use Project API

* Change tvm.micro.Session to use Project API

* Rework how crt_config.h is used on the host.

 * use template crt_config.h for host test runtime; delete
   src/runtime/crt/host/crt_config.h so that it doesn't diverge from
   the template
 * bring template crt_config.h inline with the one actually in use
  * rename to MAX_STRLEN_DLTYPE
 * Create a dedicated TVM-side host crt_config.h in src/runtime/micro

* Modify Transport infrastructure to work with Project API

* Add host microTVM API server

* Zephyr implementation of microTVM API server

 * move all zephyr projects to apps/microtvm/zephyr/template_project

* consolidate CcompilerAnnotator

* Allow model library format with c backend, add test.

* Update unit tests

* fix incorrect doc

* Delete old Zephyr build infrastructure

* Delete old build abstractions

* Delete old Transport implementations and simplify module

* lint

* ASF header

* address gromero comments

* final fixes?

* fix is_shutdown

* fix user-facing API

* fix TempDirectory / operator

* Update micro_tflite tutorial

* lint

* fix test_crt and test_link_params

* undo global micro import, hopefully fix fixture

* lint

* fix more tests

* Address tmoreau89 comments and mehrdadh comments

 * fix random number generator prj.conf for physical hw
 * uncomment proper aot option
2021-08-07 11:51:32 -07:00
Andrey Malyshev 392a7579ac Add batch_matmul convertion to FQ2I pass (#8635) 2021-08-07 11:27:02 +09:00
Lunderberg bf3669d3e3 [Topi][Testing] Float16 unittests for dense, conv2d, depthwise conv2d (#8529)
* [Topi][Testing] Minor cleanup for python reference implementations

- Use input dtype for dilate/conv2d accumulate in python
  impl. Previously, the python implementations of dilation and conv2d
  would use numpy default dtype in some cases, rather than the input
  data's dtype.

- Added fallback for datatypes not supported by scipy.signal.convolve2d (e.g. float16).

- Refactored to avoid duplication, use common get_pad_tuple functionality.

* [Topi][UnitTests] Added float16 tests to test_topi_dense.py

* [Topi][UnitTests] Added float16 to test_topi_conv2d_nchw.py

* [Topi][Float16] Added float16 tests for depthwise conv2d.

* [UnitTests] Explicitly set seed for float16 tests

Intended to avoid flaky test failures later due to rounding errors.

* [UnitTests] Fixed a few failing unit tests.

- ref_data must be a test fixture, not acquired through
  request.getfixturevalue, in order to have the random_seed be known.

- dilate_python's return value didn't follow `out_dtype`.

- The test_topi_conv3d tests had the reference results computed in
  float64, due to dilate_python() not respecting the input data type.
  With the correct dtype, the tolerances needed to be slightly widened.

Co-authored-by: Eric Lunderberg <elunderberg@octoml.ai>
2021-08-07 11:26:22 +09:00
Josh Fromm 11238b5831 [Relay][QNN] Support for non scalar zero points in qnn.conv2d (#8620)
* conv2d working, fixing conv2d_depthwise

* Depthwise conv2d working.

* Make convinteger work on cuda.

* Simplify code and add tests.

* Formatting.

* Fixed fallback broadcasting.

* Fix fallback broadcasting.

* Formatting.

* Fix lint

* Merge with new test parameterization.
2021-08-07 11:26:11 +09:00
Hua Jiang e1bb7ac880 [VM] Add get_input_index support. (#8661) 2021-08-06 17:24:09 +09:00
Lunderberg 783fe980b6 [UnitTests] Apply correct requires_gpu() pytest marks for parametrized target (#8542)
* [Onnx][UnitTests] Excluded additional onnx tests

- The onnx tests `test_basic_convinteger`, `test_convinteger_with_padding`, `test_range_float_type_positive_delta_expanded`, and `test_range_int32_type_positive_delta_expanded` don't run correctly on CUDA targets, so they are added to the exclusion.

- Parametrized over the relative directory name, rather than the full directory name.  This improves readability of the pytest output, and keeps the same parametrized test name across different python version.

- Changed the target-specific skips to check the target kind, rather than the full target string.

* [UnitTests] Apply correct requires_gpu() pytest marks for parametrized target

Prevoiusly, the addition of tvm.testing._target_to_requirement pytest marks
was handled by the parametrize_targets function.  The
_auto_parametrize_target function assumed that a unit test that was already
parametrized had all markings needed.  If a unit test was explicitly
parametrized using @pytest.mark.parametrize, these marks would be missing.

In most cases, this explicit use of @pytest.mark.parametrize('target', ...)
should be avoided, but has value in the case of marking with multiple
parameters with @pytest.mark.parametrize('target,other', ...).  This use
case isn't yet supported by the tvm.testing.parameters function.  Therefore,
if this occurs, detect it and add the appropriate marks.

* [UnitTest] Bugfix, applying requires_* markers to parametrized targets.

Initial implementation did work correctly with
@tvm.testing.parametrize_targets.

Also, went through all cases where "target" is used to parametrize on
something other than a target string, and renamed.

* [Onnx] Switched from using pytest.skip to tvm.testing.known_failing_targets

After merging of the `tvm.testing.parametrize_targets` and
`tvm.testing._auto_parametrize_target` code paths,
`known_failing_targets` can be used in both cases.

* [Testing] Enable `Target` object as argument to _target_to_requirement

Previously, tvm.testing._target_to_requirement required the argument
to be a string.  This commit allows it to be either a string or a
`tvm.target.Target`.

* [Testing] Auto-target parametrization, handle pytest ParameterSet

If the unit test has already been parametrized with pytest.params to
add parameter-specific marks, respect those existing marks.

This can happen in some cases in the CI, uncertain yet what is causing
them.  Maybe pytest-xdist related, but there's some difficulty in
reproducing it locally.

Co-authored-by: Eric Lunderberg <elunderberg@octoml.ai>
2021-08-06 17:23:49 +09:00
Valery Chernov 2c124c9d25 [Frontend] Unified LSTM cell (#8599)
* fuse dence sum

* remove excess copying

* dev LSTM in ONNX

* alternative implementation of LSTM in onnx frontend. It is quicker than current one without tuning

* LSTM_dev2 was implemented in onnx frontend

* LSTM dev in pytorch frontend

* LSTM cell implementation was transferred to common place. Unneccessary code was removed

* lint fixes

* Weights permutation for LSTM layer in onnx frontend

* LSTM cell description was added

* arguments and values were renamed. descriptions of some methods were added

* LSTM output shape and actvations input format were fixed in onnx frontend

* empty. tvm-ci test

* unbind method was transferred from onnx frontend to common.py

* unbind method was transferred from pytorch frontend to common.py

* lstm cell was transferred from op/layers.py to frontend/common.py

* clean up weight dictionary initialization

* fix pytorch frontend wrapper over unbind method

* minor fix of comments

* empty. tvm-ci test restart

* empty. tvm-ci test restart

Co-authored-by: Valery Chernov <valery.chernov@deelvin.com>
2021-08-06 17:22:38 +09:00
Wuwei Lin cdfae39c9b [AutoScheduler] Fix deserization of workload registry entry (#8662) 2021-08-05 01:54:41 -07:00
Haozheng Fan 874ea7a81d [Fix][Frontend][TOPI] minor bugs (#8622)
* fix

* fix

* lint
2021-08-04 23:52:38 -07:00
Yanming Wang 26c2a9a881 [TensorRT] Add transpose_a/b for TensorRT batch_matmul (#8607)
* Add transpose support for tensorrt batch_matmul

* Address PR comment

* Refactor to add ONNX_DEFAULT_CONFIGS
2021-08-04 22:18:23 -07:00
Huang, Guangtai fe2cdf3e39 [Frontend][Pytorch] add suppport for 'aten::upsample_bicubic2d' (#8648)
* fix

* lint
2021-08-05 09:44:46 +09:00
masahi 0ce7f6cea4 [AMP] Disallow fp16 conversion for arange op (#8644)
* [AMP] Do not allow fp16 cast on arange inputs

* add test

* Add comment explaining the issue with fp16 "end"
2021-08-04 21:51:34 +09:00
Qiang Zhang b9204cd33e [Relay] Change Default "opt_level" of Sequantial from 2 to 0 (#8634) 2021-08-04 10:32:58 +09:00
Hua Jiang 9dfcb22850 [Runtime] Add graph_executor get_input_index API. (#8633)
* [Runtime] Add graph_executor get_input_index API.

In graph_executor use case, user can use set_input with
input index to set input parameter, but there is no straight
forward way to get correct index number with input name, here
provide get_input_index API to do such work.

* Update python/tvm/contrib/graph_executor.py

Co-authored-by: Cody Yu <comaniac0422@gmail.com>

* Update python/tvm/contrib/graph_executor.py

Co-authored-by: Cody Yu <comaniac0422@gmail.com>

* Update src/runtime/graph_executor/graph_executor.cc

Co-authored-by: Cody Yu <comaniac0422@gmail.com>

* Update python/tvm/contrib/graph_executor.py

Co-authored-by: Cody Yu <comaniac0422@gmail.com>

Co-authored-by: Cody Yu <comaniac0422@gmail.com>
2021-08-04 10:32:14 +09:00
Qiang Zhang 4b9d43e05b [Refactor] Avoid Override Generic Op Strategy in "hls.py" (#8614)
* [Refactor] Avoid Override Generic Op Strategy in "hls.py"

* Fix The Broken CI Test Cases
2021-08-03 09:33:59 -07:00
Matthew Brookhart 38fe522fb0 [Relay][Quantization] Extend FakeQuantizationToInteger to more ops (#8241)
* support scalars in quantize and requantize

* Add affine type support for ops with multipe output, use it in concat, move to header

* support new ops, refactor tests

* add more binary ops

fix pylint

fix black

black broke pylint

oops on black

* fix a typo in a branch and add a test that hits it

* improve comments
2021-08-03 14:53:47 +09:00
Grant Watson f656a2274a Docker env for Arm® Ethos™-U55 Port (#8514)
* Docker env for Arm® Ethos™-U55 Port

* Added Arm® Corstone™-300 Reference System for testing
* Added Arm® Ethos™-U driver stack
* Added installation of Arm® Vela.

Co-authored-by: Manupa Karunaratne <manupa.karunaratne@arm.com>

Change-Id: Ie3cc43943c876d95618a39887aa666da20bcb1e4

* Docker env for Arm® Ethos™-U55 Port

* Removes /opt/arm/cmake/bin from the path
* Parameterizes Arm® Ethos™-U55 driver stack version number

Change-Id: I2162b40f82241fd013643cbfa8847b60d7f4f5a1

* Docker env for Arm® Ethos™-U55 Port

* Adds ethosu as an extra to /python/gen_requirements.py

Change-Id: I2162b40f82241fd013643cbfa8847b60d7f4f5a1

* Docker env for Arm® Ethos™-U55 Port

* Added comment explaining why Vela version needs to be pinned to 2.1.1

Change-Id: I1ade280faa5274cca78899f4dae9e596b16fb5df
2021-08-02 16:06:30 -07:00
Christopher Sidebottom 49d5879e1b Introduce --interface-api={c,packed} parameter (#8280)
* Introduce --interface-api={c,packed} parameter

This introduces structures generated to provide a documented and stable user
friendly interface to a TVM generated model, as can be seen in the AOT
demo application:
```
struct tvmgen_default_inputs inputs = {
  .input_1 = input_data,
};
struct tvmgen_default_outputs outputs = {
  .output = output_data,
};
int ret_val = tvmgen_default_run(&inputs, &outputs, NULL, NULL);
```

To facilitate this, some other changes are included:
* Removed dependency on `aot_executor.{c,h}` in tests, pending the
discussion in the interface RFC as to whether we keep them.
* Moved creation of test DLTensor's into the AOT test utils, in future this
can be replaced by loading via the Python API or otherwise
* Introduce `parametrize_aot_options` which can be used to test
permutations of AOT which work together - for now this filters C
interface and packed operators
* Updated demo application to generate the header for demonstration
purposes, we should consider porting the demo application to Model
Library Format and using the toolchain in the Zephyr App via CMake
instead?

This patch builds upon the improvements @giuseros made to AOT testing
and name mangling from #8014

* Tweak metadata variable description and MLF target loop

* Remove direct usage of `relay::Var` in meta_data.h

This looks like the only place that could be causing the Windows CI failures, so trying removing the additional header in meta_data.h

* Linting fix

* Post-rebase files fixing

These tests were somehow transmuted in transit, I've updated them to the
most recent variant of the test helpers.

* Strip back interface API to just inputs and outputs

This removes any speculative structures from the generated code and cleans up some of the documentation.

* Add header guards and tweak documentation
2021-08-02 16:04:55 -07:00
Junru Shao 7653972954 [Meta Schedule][M3a] Instruction and Trace (#8615) 2021-08-01 18:54:17 -07:00
zhuwenxi 887324f778 [TOPI][CUDA] Improve the performance of scatter_nd (#8479)
* [TOPI][CUDA] Improve the performance of scatter_nd by:

1. Split into 2 kernels, one does the "Init" and another does the "Update".
   Thus they can have different Grid/Block configurations to better utilize
   SMs.
2. Use atomic_add instead of direct assignment, which could avoid the race
   condtion when multiple indices point to the same location of the output
   tensor. With this moidification, it's safe now to use more CUDA threads
   to gain more parallelism.

* Fix python code format.

* FIX: [TOPI][CUDA] Improve the performance of scatter_nd #8479

- Split ScatterND kernel into 2 sub-kernels using ib.new_scope()

- Replace ib.for_range() with blockIdx.y

- Using atomic_add when mode == "add"

- Keep threadIdx.x less than max_threads of GPU

* Comment added

* Add fallback implementation when "mode=add" meets int64

- Atomic_add from CUDA doesn't support int64 data type
- Change "ind{i}" to "ind%d"%i, where names of relay.var could correctly display

* Python format

* Fix line too long

* CI pass

* Empty, for CI pass

* Empty, for CI pass

* Empty, for CI pass

* Empty, for CI pass

* Empty, for CI pass

* Exchange blockIdx.x and blockIdx.y

* check for Vulkan or metal

* Fallback to previous algorithm when mode==update

* Update python/tvm/topi/cuda/scatter.py

Co-authored-by: Tristan Konolige <tristan.konolige@gmail.com>

* Assign TODO

* Swapping then and else block

Co-authored-by: wenxizhu <wenxizhu@tencent.com>
Co-authored-by: CaptainDuke <captainduke328@gmail.com>
Co-authored-by: Tristan Konolige <tristan.konolige@gmail.com>
2021-08-01 10:35:43 +09:00
masahi 4b67daccb9 [CUDA] Support multiple TIR-level dynamic shared memory allocations (#8571) 2021-07-31 10:20:24 -04:00
Tianqi Chen 7d8a774a6b [VTA] Recover rpc server support (#8604) 2021-07-31 08:38:08 -04:00
Siyuan Feng 2a8950b5c0 [TensorIR] Support for match_buffer from subregion (#8585)
Co-authored-by: Junru Shao <junrushao1994@gmail.com>
Co-authored-by: Bohan Hou <32121147+spectrometerHBH@users.noreply.github.com>
Co-authored-by: Ruihang Lai <lairuihangdongdong@qq.com>
Co-authored-by: Hongyi Jin <3231950289@qq.com>
Co-authored-by: Wuwei Lin <wuwei@apache.org>
2021-07-30 22:06:38 -07:00
Ruihang Lai 5012462ef8 [TensorIR][M2a] Reduction Factoring (RFactor) (#8544)
Co-authored-by: Junru Shao <junrushao1994@gmail.com>
Co-authored-by: Siyuan Feng <Hzfengsy@sjtu.edu.cn>
Co-authored-by: Bohan Hou <32121147+spectrometerHBH@users.noreply.github.com>
Co-authored-by: Hongyi Jin <3231950289@qq.com>
Co-authored-by: Wuwei Lin <wuwei@apache.org>
2021-07-30 22:04:02 -07:00
Matthew Brookhart 22c7d6107f speed up reference resize kernel (#8592) 2021-07-30 09:49:19 -04:00
Altan Haan 81480287a8 [FIX][CI] hotfix check_grad perf regression (#8581)
* hotfix check_grad perf regression: lift compile out of hot loop

* hoist interpreter creation out of python closure, fix weird conv2d bug on arm cpu

* lint

* try one more fix
2021-07-30 09:09:37 +01:00
Chenfan 88dd31b600 [VM] Bug fix for numpy scalar input in vm (#8553)
* Bug fix for numpy scalar input in vm

* Bug fix

* Re-triggle CI

* Update

* Update UT

* Re-triggle CI
2021-07-30 14:11:51 +09:00
masahi bef7bf9b2b [Refactor] Remove AttrStmt with storage_scope key (#8516)
* Remove all attr::storage_scope usage

* pyformat

* fixed VTA tests

* Update TIR text printer to print storage_scope on allocate

* print storage scope in AllocateNode ReprPrinter

* Fixed accidently removed scope tag check

* remove unused function

Co-authored-by: masa <masa@pop-os.localdomain>
2021-07-29 14:29:14 -05:00
Chenfan 850abb0c01 [TOPI] Add transpose_a/b & dynamic shape support for batch matmul (#8527)
* Add basic support for batch matmul transpose

* Update

* Lint fix & add tf convert support

* Update

Lint fix

* Bug fix for qnn.batch_matmul

* Bug fix for tensorflow test

* Add grad support for batch_matmul

* Lint fix

Re-triggle CI

Bug fix

Re-triggle CI

Re-triggle CI

Re-triggle CI
2021-07-29 10:15:21 -07:00
Mario Perić SiMa.ai 83ce7fe827 [TOPI] Fix nn.pool*d issue with 'vectorize' function and add unit tests (#8541)
* Fix issue in 'vectorize' function for 1D and 3D tensors

* Add pooling tests for channel last layouts

* Add support for more general layouts in "poolnd" implementation

* Reformat with 'black'

* Fix lint issues
2021-07-29 19:53:02 +09:00