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

cpu: aarch64: Expand ARM SVE support for forward convolution. #1838

Merged

Conversation

kasturedeeksha
Copy link
Contributor

@kasturedeeksha kasturedeeksha commented Mar 22, 2024

Description

This commit expands ARM SVE support for JIT SVE forward convolution in FP32, introducing compatibility with various vector lengths. The changes made are for implementing different ARM SVE vector lengths.

Major code changes:

  1. Added common files jit_sve_convolution.hpp, jit_sve_convolution.cpp, jit_sve_conv_kernel.hpp, jit_sve_conv_kernel.cpp to accommodate the extended ARM SVE vector length.
  2. Set data format tags according to the SVE length being used for forward convolution.
  3. Replaced ldr, and str instructions for vector registers with ld1w and st1w to utilize predication.

Checklist

General

  • Do all unit and benchdnn tests (make test and make test_benchdnn_*) pass locally for each commit? Yes
    Test output is same with and without this commit.
  1. make test output:
99% tests passed, 2 tests failed out of 162

Total Test time (real) = 137.49 sec

The following tests FAILED:
        145 - test_graph_unit_dnnl_conv_usm_cpu (Failed)
        150 - test_graph_unit_dnnl_large_partition_usm_cpu (Failed)
Errors while running CTest
Output from these tests are in: /home/deekshak/xybak/oss_pr/forked_oss/oneDNN_Fork/build/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
make: *** [Makefile:71: test] Error 8
  1. make test_benchdnn_modeC_conv_ci_cpu/fast output:
tests:30510 passed:16848 skipped:13662 mistrusted:0 unimplemented:0 invalid_arguments:0 failed:0 listed:0
total: 316.16s; fill: 25.08s (8%); compute_ref: 6.38s (2%); compare: 8.97s (3%);
  • Have you formatted the code using clang-format? Yes
    cc : @kawakami-k

@kasturedeeksha kasturedeeksha marked this pull request as ready for review March 26, 2024 06:43
Copy link
Contributor

@igorsafo igorsafo left a comment

Choose a reason for hiding this comment

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

Hi @kasturedeeksha ,
Could you please squash all commits into a single one and change the commit message to something like src: cpu: aarch64: conv: forward: add sve_256 support?

@igorsafo igorsafo added this to the v3.5 milestone Mar 26, 2024
@kasturedeeksha kasturedeeksha force-pushed the aarch64-sve-jit-convolution branch from 18b184d to e328f23 Compare March 27, 2024 12:49
@kasturedeeksha kasturedeeksha changed the title cpu: aarch64: Expand ARM SVE support for forward Convolution. cpu: aarch64: Expand ARM SVE support for forward convolution. Mar 27, 2024
@abhijain1204fujitsu
Copy link

@igorsafo, mentioned changes have been done
Kindly support to review this PR and share the feedback

Copy link
Contributor

@igorsafo igorsafo left a comment

Choose a reason for hiding this comment

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

@kasturedeeksha Thank you, the changes LGTM!

@vpirogov vpirogov added the platform:cpu-aarch64 Codeowner: @oneapi-src/onednn-cpu-aarch64 label Mar 29, 2024
@abhijain1204fujitsu
Copy link

@igorsafo, @vpirogov could you please support for merger, in case any update required at our end please let us know.

@densamoilov densamoilov merged commit 3bb25fd into oneapi-src:main Apr 8, 2024
0 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform:cpu-aarch64 Codeowner: @oneapi-src/onednn-cpu-aarch64
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants