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

[ARM]: Implement CPU plugin just-in-time emitter for Erf operation #27499 #28176

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

shivam5522
Copy link
Contributor

Details:

  • Added a jit_erf_emitter derived class in aarch64/jit_eltwise_emitters
  • Created entry Algorithm::EltwiseErf in the get_supported_precisions in nodes/kernels/aarch64
  • Add the EltwiseErf entry in the aarch64 executors supported algorithms

Tickets:

#27499

@shivam5522 shivam5522 requested review from a team as code owners December 21, 2024 05:17
@github-actions github-actions bot added the category: CPU OpenVINO CPU plugin label Dec 21, 2024
@sys-openvino-ci sys-openvino-ci added the ExternalPR External contributor label Dec 21, 2024
const TReg src(in_vec_idxs[0]);
const TReg dst(out_vec_idxs[0]);

h->erf(dst.s, src.s);
Copy link
Contributor

Choose a reason for hiding this comment

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

I saw your comment with asking help about erf impl (but seems like it was deleted).

You can take a look on JIT Emitter for GeluErf for AArch64 platforms. There is Erf impl

Also, we have JIT Emitter for Erf for x64 platforms. Please take a look - it might be useful.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah I checked out the ERF approximation and also the ERF documentation in general. I assume that we have to use the approximation formula to implement ERF. Also can I directly use the same idea from the JIT Emitter for ERF for x64 and then port accordingly for AArch64?
Also, I work on a windows laptop, are there any steps to test this on windows? Sorry for the dumb doubts

Copy link
Contributor

@a-sidorova a-sidorova Dec 23, 2024

Choose a reason for hiding this comment

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

Also can I directly use the same idea from the JIT Emitter for ERF for x64 and then port accordingly for AArch64?

For sure! It makes sense 😃

Also, I work on a windows laptop, are there any steps to test this on windows? Sorry for the dumb doubts

I'd assume that your laptop is on x64 arch (intel or amd). In this case you need emulator to launch programs for arm64. But to be honest, I don't know any good options to do it on windows.
I know only one option with WSL - there you can use cross-compilation and launch programs with QEMU.

Sorry for the dumb doubts

No worries, everything is ok! 👍🏼

@a-sidorova a-sidorova self-assigned this Dec 23, 2024
@a-sidorova a-sidorova added this to the 2025.0 milestone Dec 23, 2024
@a-sidorova a-sidorova added the platform: arm OpenVINO on ARM / ARM64 label Dec 23, 2024
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.

3 participants