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][ARM64] Add a JIT emitter for SoftPlus operation #27147

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

nashez
Copy link
Contributor

@nashez nashez commented Oct 20, 2024

Details:

  • Added a jit_sqrt_emitter derived class in aarch64/jit_eltwise_emitters
  • Created entry Algorithm::EltwiseSqrt in the get_supported_precisions in nodes/kernels/aarch64
  • Add the EltwiseSqrt entry in the aarch64 executors supported algorithms
  • Add the ActivationType::Sqrt in the getPrimitiveType in activations

Tickets:

@nashez nashez requested review from a team as code owners October 20, 2024 07:06
@github-actions github-actions bot added the category: CPU OpenVINO CPU plugin label Oct 20, 2024
@sys-openvino-ci sys-openvino-ci added the ExternalPR External contributor label Oct 20, 2024
@nashez
Copy link
Contributor Author

nashez commented Oct 20, 2024

@dmitry-gorokhov @eshoguli I don't see an entry for Eltwise::SoftPlus in the enum class Algorithm.
Also have some questions about the implementation. I don't see a log instruction in the ARM ISA, and am thinking to use Taylor's expansion for the same. Do you guys have any other approaches for me to consider?

@dmitry-gorokhov
Copy link
Contributor

@nashez SoftPlus is not enabled as Eltwise algorithm yet, so you need to extend it. Please see how it was done for Floor op: #24041

@dmitry-gorokhov
Copy link
Contributor

@nashez As for log algorithm, Please refer to oneDNN impl: https://github.com/oneapi-src/oneDNN/blob/main/src/cpu/aarch64/injectors/jit_uni_eltwise_injector.cpp#L915. It is implemented using SVE, so I would suggest to write our own NEON code but with the same math underneath

@ilya-lavrenov ilya-lavrenov added the platform: arm OpenVINO on ARM / ARM64 label Oct 31, 2024
Copy link
Contributor

This PR will be closed in a week because of 2 weeks of no activity.

@github-actions github-actions bot added the Stale label Nov 24, 2024
@nashez
Copy link
Contributor Author

nashez commented Nov 24, 2024

Resuming work on this while I await a resolution to the less than PR #27144

@github-actions github-actions bot removed the Stale label Nov 25, 2024
- Added a jit_sqrt_emitter derived class in
  aarch64/jit_eltwise_emitters
- Created entry Algorithm::EltwiseSqrt in the
  get_supported_precisions in nodes/kernels/aarch64
- Add the EltwiseSqrt entry in the aarch64 executors
  supported algorithms
- Add the ActivationType::Sqrt in the getPrimitiveType
  in activations

Closes: openvinotoolkit#24109

Signed-off-by: Nashez Zubair <nashezzubair@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: CPU OpenVINO CPU plugin ExternalPR External contributor platform: arm OpenVINO on ARM / ARM64
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Good First Issue] [ARM]: Implement CPU plugin just-in-time emitter for SoftPlus operation
4 participants