-
Notifications
You must be signed in to change notification settings - Fork 3.9k
[MLAS] Add an NHWC implementation of convolution to avoid transposes #26834
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
Open
orlmon01
wants to merge
81
commits into
microsoft:main
Choose a base branch
from
orlmon01:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
81 commits
Select commit
Hold shift + click to select a range
d4943e4
Add an implementation an NHWC implementation of convolution to avoid …
orlmon01 1606a1c
Add a value for channels_last to bench_sconv.cpp
orlmon01 f80cc39
Merge branch 'microsoft:main' into main
orlmon01 6045333
Merge branch 'microsoft:main' into main
orlmon01 2dd199e
Update internal_testing_tests.cc
orlmon01 eb026d1
Merge branch 'microsoft:main' into main
orlmon01 4df9cea
Update nhwc_transformer_test.cc
orlmon01 b133782
Update internal_testing_tests.cc
orlmon01 0c2d1cd
Update ort_model_only_test.cc
orlmon01 25c0be7
Lintrunner fixes
orlmon01 bee0892
Merge branch 'microsoft:main' into main
orlmon01 a64af7c
Merge branch 'microsoft:main' into main
orlmon01 bc1ada6
Merge branch 'microsoft:main' into main
orlmon01 0482150
Update onnxruntime/core/optimizer/nhwc_transformer.cc
orlmon01 f9606cd
Update onnxruntime/core/framework/kernel_type_str_resolver.cc
orlmon01 63d9c55
Update onnxruntime/core/providers/cpu/nn/conv.cc
orlmon01 457513b
Update onnxruntime/contrib_ops/cpu/cpu_contrib_kernels.cc
orlmon01 b836bd3
Update onnxruntime/test/framework/ort_model_only_test.cc
orlmon01 d305b8f
Merge branch 'microsoft:main' into main
orlmon01 891dad5
Additional guards to not include KLEIDIAI specific kernels
orlmon01 7acbfcf
Merge branch 'microsoft:main' into main
orlmon01 878dff6
Merge branch 'microsoft:main' into main
orlmon01 0a04afc
Merge branch 'microsoft:main' into main
orlmon01 aed3e5f
Merge branch 'microsoft:main' into main
orlmon01 2467ca9
Apply suggestions from code review
orlmon01 ceb89d1
Merge branch 'microsoft:main' into main
orlmon01 2df52ff
Adding some extra tests and removing unnecessary code
orlmon01 ed8a97d
Merge branch 'microsoft:main' into main
orlmon01 ec13eef
Adding additional USE_KLEIDIAI guards
orlmon01 621806b
Apply suggestions from code review
orlmon01 78c7728
Adding USE_KLEIDIAI guard to kleidiai specific kernel_type_str_resolv…
orlmon01 055c62c
Updates to address comments and codex issues
orlmon01 958d73d
Merge branch 'microsoft:main' into main
orlmon01 8eef03f
Fix for errors around NHWC and FusedSum
orlmon01 f06c843
Merge branch 'microsoft:main' into main
orlmon01 768a793
Extensive Refactor of NHWC Convolution to try and fix tests
orlmon01 601029c
Update onnxruntime/test/framework/ort_model_only_test.cc
orlmon01 75c55a9
Merge branch 'microsoft:main' into main
orlmon01 f152310
Merge branch 'microsoft:main' into main
orlmon01 ba355ea
Fixes for failing unittests:
orlmon01 f91dd75
Update onnxruntime/test/optimizer/transpose_optimizer_test.cc
orlmon01 452a457
Fix for copilot suggestion around fp16 intrinsics
orlmon01 3c5d2ee
Further codex fixes and added another regression test
orlmon01 a799cac
Update the nhwc transformer tests to check according to supported har…
orlmon01 7970ee0
Add further checks to ensure mlas paths for convolution are correct f…
orlmon01 107661c
Guard the KleidiAi specific functions in android to fix -wunused errors
orlmon01 e6b52b6
Further guards and checks for nwhctransformer tests on x86
orlmon01 a9ccef7
Merge branch 'microsoft:main' into main
orlmon01 4c4d168
Add a check for unused params when USE_KLEIDIAI is off to convolve.cpp
orlmon01 fa098db
Co-pilot fixes
orlmon01 80a80c1
Tighten up nhwc params
orlmon01 a00dcc4
One more test guard
orlmon01 ac36400
Small tweak to apple clang flags for macos builds
orlmon01 db137fc
Updates to use MLAS_TARGET_ARM64 instead of __aarch64__
orlmon01 6240564
Merge branch 'main' into main
orlmon01 69ce23e
Tweak to update conv tests to comply with new function decl
orlmon01 0342841
Update NHWC implementation to honour use_kleidiai flag
orlmon01 69d91c3
Add a comment to LayoutTransformDoesNotRetargetNhwcFusedConv test to …
orlmon01 a6b78dd
Merge branch 'microsoft:main' into main
orlmon01 648d68f
Tighten up the checks around NCHWc and add a unittest
orlmon01 cf8d08f
Add missing padding to PreExistingFusedConvWithNchwcSumInput
orlmon01 5a6f110
Changing ort_model_only_test.cc to use the same function for all models
orlmon01 522a861
Change the fallback convert functions in conv.cc to use more optimise…
orlmon01 9689832
Merge branch 'microsoft:main' into main
orlmon01 3710581
Remove the filter for NhwcTransformer as it is no longer needed
orlmon01 0f0a114
Adding comments to fuse_initializers_transformer_test.cc to explain f…
orlmon01 9356f98
Cleanup of com.microsoft.NhwcFusedConv to be available in minimal builds
orlmon01 f8b85ad
Remove unneeded comment
orlmon01 7d08d03
Added descriptions to the nhwc_schema_defs for the nhwcfusedconv oper…
orlmon01 9f7d631
Fix for CoPilot issue to prevent dividing by 0 when strides or dilati…
orlmon01 fff37d9
Moving the channels last check earlier in conv.cc so it returns soone…
orlmon01 9c62be6
Update kernel_type_str_resolver.cc whitespace change
orlmon01 3167f65
Update kernel_type_str_resolver.cc
orlmon01 fcd3f14
Update fuse_initializers_transformer_test.cc
orlmon01 38f9a2b
Remove the conditional ifdef from kernel_type_str_resolver_utils.cc
orlmon01 057f493
Update the hashing in convolve_kleidi to reduce the aliasing risk
orlmon01 74a3366
Merge branch 'microsoft:main' into main
orlmon01 7d37596
Remove an unnecessary copy in conv.cc
orlmon01 f403ebe
Merge branch 'microsoft:main' into main
orlmon01 54415bf
Generated Docs update
orlmon01 39edc59
Removing unneeded nullptr chwck in nchwc_transformer.cc
orlmon01 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.