Fix Neureka#188
Draft
marchioa wants to merge 16 commits into
Draft
Conversation
d0ed93d to
5081593
Compare
…te conv layers - in parser, weights are contrained to have 3 dimensions. That is correct for PW only. DW and Dense require 4 dimensions. The fix allows weights with 4 dimensions for DW and Dense. - in tiler, again only 3-dim weights for PW is supported. Add support for 4-dim weights for DW and Dense. - in test-runner, arguments for neureka are ignored. Add support for `enable-3x3` and `neureka-wmem` arguments.
…the bias is coherent with requantshift add vector
The flag avoid that aliases of input/output (such as a no-op reshape view) is deallocated
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Current implementation of Neureka has a few bugs that need to be fixed. This PR wants to fix those bugs and provide some test to check the functionality. Most changes are related to the tiler for Dense and DW Convolutions.
Added
NeurekaNCHWtoNHWCDwConvPasswhich apply the weight layout depending on the engine.Changed
NeurekaReshapePointwiseConvolutionPass_requantized_gemm_to_pw_fun, add a guard onmulandaddshapes to check if they are consistent with PW output channels.Fixed
_createIOBindings, set_live = Trueon network input and output buffers. They are externally allocated and effectively reserved for the whole inference (mirroringConstantBuffer, which already hardcodes_live = True). This makeshas_live_aliases()correctly see them as live, so any buffer aliasing a network I/O tensor is no longer deallocated while the I/O tensor is still in use.has_live_aliases():visited = set(self.name)built a set of the name's characters instead of{self.name}PR Merge Checklist
develcommit and pointing todevel.CHANGELOG.mdfile has been updated.