Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VTA] Bug fix for padded load with large inputs #4293

Merged
merged 3 commits into from
Nov 15, 2019

Conversation

liangfu
Copy link
Member

@liangfu liangfu commented Nov 9, 2019

This PR brings the support for padded load with large inputs (greater than a single burst length).

@vegaluisjose @tmoreau89 Please review.

Copy link
Member

@vegaluisjose vegaluisjose left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @liangfu , thanks for the catch. Did all the unit-test passed?

Copy link
Contributor

@tmoreau89 tmoreau89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you Liangfu for the fix. Did you also test whether that fixed the padded load test on the HLS version?

@liangfu
Copy link
Member Author

liangfu commented Nov 15, 2019

@vegaluisjose Yes, current Chisel implement passes all the unit-tests.

@tmoreau89 I did not test this with HLS version yet. If you want, I think I can test this with PYNQ hardware next week.

On the other hand, I think some recent changes (either in the runtime or the compiler) has made this broken. I mean even without this PR, unit test with fsim could even fail in some cases (not always). I can reproduce the failure case by fixing random seed. All my successful tests are based on eariler version of runtime & compiler. This PR only focus on the hardware improvements.

@tmoreau89
Copy link
Contributor

Thank you @liangfu; if you could test the unit test on Pynq that would be excellent; one known issue is that the padded load test fails on Pynq (but not in fsim); so I was wondering if some changes to the test would fix it. If it still fails, it's not worse off than it is now. That will require some digging into, which I can do when I have bandwidth. For now a simple yes/no report on pass status would be sufficiently good.

@liangfu
Copy link
Member Author

liangfu commented Nov 15, 2019

one known issue is that the padded load test fails on Pynq (but not in fsim); so I was wondering if some changes to the test would fix it.

This PR intended to bring the fix, and it does fix the issue.

For the failure case that I referred earlier happens in recent changes in either runtime or compiler, not in the hardware implementation. I can successfully evaluate the padded load test with hardware design in this PR + software design (runtime and compiler) in commit 734df8d.

Copy link
Contributor

@tmoreau89 tmoreau89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tmoreau89
Copy link
Contributor

Thanks. @vegaluisjose pending your approval I'll merge the changes.

@vegaluisjose
Copy link
Member

LGTM

@tmoreau89 tmoreau89 merged commit 5b1ca85 into apache:master Nov 15, 2019
zxy844288792 pushed a commit to zxy844288792/tvm that referenced this pull request Nov 15, 2019
* bug fix for padded load with large inputs

* Update TensorLoad.scala

* Update test_vta_insn.py
zxy844288792 pushed a commit to zxy844288792/tvm that referenced this pull request Nov 15, 2019
* bug fix for padded load with large inputs

* Update TensorLoad.scala

* Update test_vta_insn.py
kevinthesun pushed a commit to neo-ai/tvm that referenced this pull request Nov 25, 2019
* [TOPI][OP] Support Faster-RCNN Proposal OP on CPU (apache#4297)

* Support Proposal operator on CPU.

* PyLint space issue

* PyLint space issue

* Pylint singleton-comparison issue

* [QNN][Legalize] Specialize for Platforms without any fast Int8 arithmetic units. (apache#4307)

* fix error when memory_id is VTA_MEM_ID_OUT (apache#4330)

* [CI][DOCKER] Add ONNX runtime dep (apache#4314)

* [DOCKER] Add ONNX runtime dep

* Improve ci script

* [QNN] Quantize - Fixing the sequence of lowering. (apache#4316)

* [QNN] Use Int16 upcast in Fallback Conv2D. Fix test names. (apache#4329)

* [doc][fix] fix sphinx parsing for pass infra tutorial (apache#4337)

* change ci image version (apache#4313)

* [Codegen] remove fp16 function override for cuda  (apache#4331)

* add volatile override back

* [codegen] remove fp16 function override for cuda

* [CI] Set workspace to be per executor (apache#4336)

* [Build][Windows] Fix Windows build by including cctype (apache#4319)

* Fix build

* dummy change to retrigger CI

* dummy change to retrigger ci

* dummy change to retrigger ci

* Enable hipModuleGetGlobal() (apache#4321)

* [Relay][Pass] Add pass to remove unused functions in relay module (apache#4334)

* [Relay][Pass] Add pass to remove unused functions in relay module

* Add tests

* Fix lint

* Fix visit order

* Add pass argument

* Fix

* Add support for quant. mul operator in tflite frontend (apache#4283)

A test for qnn_mul has to be added when the qnn elemwise tests (apache#4282) get merged.

* Add topi.nn.fifo_buffer to TVM doc (apache#4343)

* Solve custom model of prelu (apache#4326)

* Deprecate NNVM warning msg (apache#4333)

* [Contrib] Add MKL DNN option (apache#4323)

* [Contrib] Add MKL DNN

* update

* update

* [Relay][Frontend][TF] Fix transpose when axes is not a param (apache#4327)

* [Relay][Frontend][TF] Use _infer_value_simulated when axes is not a const to Transpose

* uncomment tests

* dummy change to retrigger ci

* [RUNTIME] Add device query for AMD GcnArch (apache#4341)

* add gcnArch query

* kGcnArch query for cuda is a no-op

* [Test][Relay][Pass] Add test case for lambda lift (apache#4317)

* [Relay][Frontend][ONNX] operator support: DepthToSpace, SpaceToDepth (apache#4271)

* imp module is deprecated (apache#4275)

* [VTA] Bug fix for padded load with large inputs (apache#4293)

* bug fix for padded load with large inputs

* Update TensorLoad.scala

* Update test_vta_insn.py

* fix inconsistent tag name (apache#4134)

* [CodeGen] Add build config option disable_assert to control whether to generate assert (apache#4340)

* Bump up CUDA log version in tophub.py (apache#4347)

* Add check to ensure input file was successfully opened in NNVM deploy code demo (apache#4315)

* [COMMUNITY] Add DISCLAIMER, KEYS for ASF release (apache#4345)

* [COMMUNITY] Add DISCLAIMER, KEYS for ASF release

* Add file name spec

* [Relay][VM][Interpreter] Enable first-class constructors in VM and interpreter via eta expansion (apache#4218)

* Fix constructor pretty printing

* Make Module::HasDef name consistent with API

* Add VM constructor compilation via eta expansion

* Lint

* Fix CI

* Fix failing test

* Address comment

* Retrigger CI

* Retrigger CI

* Update dmlc_tvm_commit_id.txt
tqchen pushed a commit to tqchen/tvm that referenced this pull request Mar 29, 2020
* bug fix for padded load with large inputs

* Update TensorLoad.scala

* Update test_vta_insn.py
@liangfu liangfu deleted the patch-14 branch April 14, 2020 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants