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

[spirv] Enable vectorizing tensor.extract into vector.gather #13626

Merged
merged 2 commits into from
May 24, 2023

Conversation

antiagainst
Copy link
Contributor

This also adds a check in SPIRVVectorizePass to make sure that we don't have remaining linalg ops after vectorization to avoid suprises.

@antiagainst antiagainst added the codegen/spirv SPIR-V code generation compiler backend label May 15, 2023
@antiagainst antiagainst added the benchmarks:android-gpu Run default Android GPU benchmarks label May 15, 2023
@antiagainst antiagainst enabled auto-merge (squash) May 15, 2023 21:25
@antiagainst antiagainst marked this pull request as draft May 15, 2023 21:27
auto-merge was automatically disabled May 15, 2023 21:27

Pull request was converted to draft

@antiagainst
Copy link
Contributor Author

Depends on https://reviews.llvm.org/D150616.

This also adds a check in `SPIRVVectorizePass` to make sure that
we don't have remaining linalg ops after vectorization to avoid
suprises.
@antiagainst antiagainst marked this pull request as ready for review May 24, 2023 17:33
@github-actions
Copy link

Abbreviated Benchmark Summary

@ commit 0fea2095cf939a19eb8434552721f746c56c7d2b (vs. base 09b2ff413c27bcf2f1480474e4e8f9b14bd8e7d0)

Regressed Latencies 🚩

Benchmark Name Average Latency (ms) Median Latency (ms) Latency Standard Deviation (ms)
PersonDetect\_int8(tflite) [arm-valhall-vulkan\_android31-vulkan\_spirv][default-flags] vulkan(none)[full-inference,default-flags] with zeros @ pixel-6-pro[gpu] 2.693 (vs. 2.459, 9.49%↑) 2.681 0.058
PersonDetect\_int8(tflite) [arm-valhall-vulkan\_android31-vulkan\_spirv][experimental-flags,fuse-padding,repeated-kernel] vulkan(none)[full-inference,experimental-flags] with zeros @ pixel-6-pro[gpu] 2.661 (vs. 2.529, 5.25%↑) 2.653 0.069

Improved Latencies 🎉

Benchmark Name Average Latency (ms) Median Latency (ms) Latency Standard Deviation (ms)
MobileNetV3Small\_fp32(tflite) [arm-valhall-vulkan\_android31-vulkan\_spirv][default-flags] vulkan(none)[full-inference,default-flags] with zeros @ pixel-6-pro[gpu] 7.286 (vs. 8.334, 12.57%↓) 7.294 0.114
MobileNetV3Small\_fp32(tflite) [arm-valhall-vulkan\_android31-vulkan\_spirv][experimental-flags,fuse-padding] vulkan(none)[full-inference,default-flags] with zeros @ pixel-6-pro[gpu] 7.940 (vs. 8.594, 7.61%↓) 7.938 0.040
MobileNetV3Small\_fp32(tflite) [qualcomm-adreno-vulkan\_android31-vulkan\_spirv][experimental-flags,fuse-padding] vulkan(none)[full-inference,default-flags] with zeros @ moto-edge-x30[gpu] 4.603 (vs. 4.953, 7.06%↓) 4.993 0.559

[Top 3 out of 4 results showed]

No improved or regressed compilation metrics 🏖️

For more information:

Source Workflow Run

@antiagainst antiagainst requested a review from kuhar May 24, 2023 18:06
@antiagainst
Copy link
Contributor Author

The regression is within normal fluctuation range.

@antiagainst antiagainst enabled auto-merge (squash) May 24, 2023 18:07
@antiagainst antiagainst merged commit 6b9cbc5 into iree-org:main May 24, 2023
51 checks passed
@antiagainst antiagainst deleted the spirv-extract-gather branch May 24, 2023 20:52
NatashaKnk pushed a commit to NatashaKnk/iree that referenced this pull request Jul 6, 2023
…g#13626)

This also adds a check in `SPIRVVectorizePass` to make sure that we
don't have remaining linalg ops after vectorization to avoid suprises.
nhasabni pushed a commit to plaidml/iree that referenced this pull request Aug 24, 2023
…g#13626)

This also adds a check in `SPIRVVectorizePass` to make sure that we
don't have remaining linalg ops after vectorization to avoid suprises.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
benchmarks:android-gpu Run default Android GPU benchmarks codegen/spirv SPIR-V code generation compiler backend
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants