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

[Good First Issue] [ARM]: Implement CPU plugin just-in-time emitter for GreaterEqual operation #24447

Closed
eshoguli opened this issue May 9, 2024 · 6 comments · Fixed by #26727
Assignees
Labels
category: CPU OpenVINO CPU plugin good first issue Good for newcomers no_stale Do not mark as stale platform: arm OpenVINO on ARM / ARM64
Milestone

Comments

@eshoguli
Copy link
Contributor

eshoguli commented May 9, 2024

Context

JIT Emitters are part of code generation feature (a.k.a. tensor compiler) that automatically produces highly-efficient optimized fused subgraph binary code. Each emitter implements specific operation from low level OpenVINO dialect.

Prerequisites

Recommended to use ARM CPU based platform for development (e.g. Mac, Raspberry Pi etc). Emulators (e.g. QEMU) is still an option, but not that convenient, especially for final performance evaluation.

What needs to be done?

Before emitter implementation, please, modify tests to be sure that deveoped functionality is covered by test:

Tests

Tests are disabled in default build, so ensure to add -DENABLE_TESTS=ON into cmake command.

GoogleTest is used for testing. CPU functional test target is ov_cpu_func_tests. You can use two GoogleTest filters for element-wise and activation operations:

  • for element-wise operations:
./bin/[platform]/[build_type]/ov_cpu_func_tests --gtest_filter="*smoke*Eltwise*"
  • for activations:
./bin/[platform]/[build_type]/ov_cpu_func_tests --gtest_filter="*smoke*Activation*"

Example Pull Requests

Resources

Contact points

@eshoguli, @dmitry-gorokhov

Ticket

CVS-140846

@eshoguli eshoguli added good first issue Good for newcomers no_stale Do not mark as stale labels May 9, 2024
@github-project-automation github-project-automation bot moved this to Contributors Needed in Good first issues May 9, 2024
@eshoguli eshoguli changed the title [Good First Issue]: [Good First Issue] [ARM]: Implement CPU plugin just-in-time emitter for GreaterEqual operation May 9, 2024
@eshoguli eshoguli added category: CPU OpenVINO CPU plugin platform: arm OpenVINO on ARM / ARM64 labels May 9, 2024
@awayzjj
Copy link
Contributor

awayzjj commented May 21, 2024

.take

Copy link
Contributor

Thank you for looking into this issue! Please let us know if you have any questions or require any help.

@mlukasze mlukasze moved this from Contributors Needed to Assigned in Good first issues May 21, 2024
@awayzjj awayzjj removed their assignment Jul 25, 2024
@mlukasze mlukasze moved this from Assigned to Contributors Needed in Good first issues Jul 25, 2024
@nashez
Copy link
Contributor

nashez commented Jul 28, 2024

.take

Copy link
Contributor

Thank you for looking into this issue! Please let us know if you have any questions or require any help.

@mlukasze mlukasze moved this from Contributors Needed to Assigned in Good first issues Jul 29, 2024
@mlukasze
Copy link
Contributor

hey @nashez any help needed?

@nashez
Copy link
Contributor

nashez commented Sep 18, 2024

hey @nashez any help needed?

Hey @mlukasze @eshoguli
I have created the eltwise emitter following the existing ones. But I don't know how to generate the code via xbyak64.
Any tutorials or examples would be greatly appreciated.
Thanks

Same response for the #24105

nashez added a commit to nashez/openvino that referenced this issue Sep 21, 2024
* Added a jit_greater_equal_emitter derived class in
  aarch64/jit_eltwise_emitters
* Created entry Algorithm::EltwiseGreaterEqual in the
  get_supported_precisions in nodes/kernels/aarch64

Tests are pending to be added

Closes: openvinotoolkit#24447

Signed-off-by: Nashez Zubair <[email protected]>
nashez added a commit to nashez/openvino that referenced this issue Sep 22, 2024
* Added a jit_greater_equal_emitter derived class in
  aarch64/jit_eltwise_emitters
* Created entry Algorithm::EltwiseGreaterEqual in the
  get_supported_precisions in nodes/kernels/aarch64

Tests are pending to be added

Closes: openvinotoolkit#24447

Signed-off-by: Nashez Zubair <[email protected]>
nashez added a commit to nashez/openvino that referenced this issue Sep 22, 2024
* Added a jit_greater_equal_emitter derived class in
  aarch64/jit_eltwise_emitters
* Created entry Algorithm::EltwiseGreaterEqual in the
  get_supported_precisions in nodes/kernels/aarch64
* Add the EltwiseGreaterEqual entry in the aarch64
  executors supported algorithms

Closes: openvinotoolkit#24447

Signed-off-by: Nashez Zubair <[email protected]>
nashez added a commit to nashez/openvino that referenced this issue Sep 23, 2024
* Added a jit_greater_equal_emitter derived class in
  aarch64/jit_eltwise_emitters
* Created entry Algorithm::EltwiseGreaterEqual in the
  get_supported_precisions in nodes/kernels/aarch64
* Add the EltwiseGreaterEqual entry in the aarch64
  executors supported algorithms

Closes: openvinotoolkit#24447

Signed-off-by: Nashez Zubair <[email protected]>
nashez added a commit to nashez/openvino that referenced this issue Sep 25, 2024
* Added a jit_greater_equal_emitter derived class in
  aarch64/jit_eltwise_emitters
* Created entry Algorithm::EltwiseGreaterEqual in the
  get_supported_precisions in nodes/kernels/aarch64
* Add the EltwiseGreaterEqual entry in the aarch64
  executors supported algorithms

Closes: openvinotoolkit#24447

Signed-off-by: Nashez Zubair <[email protected]>
nashez added a commit to nashez/openvino that referenced this issue Sep 25, 2024
* Added a jit_greater_equal_emitter derived class in
  aarch64/jit_eltwise_emitters
* Created entry Algorithm::EltwiseGreaterEqual in the
  get_supported_precisions in nodes/kernels/aarch64
* Add the EltwiseGreaterEqual entry in the aarch64
  executors supported algorithms

Closes: openvinotoolkit#24447

Signed-off-by: Nashez Zubair <[email protected]>
nashez added a commit to nashez/openvino that referenced this issue Sep 26, 2024
* Added a jit_greater_equal_emitter derived class in
  aarch64/jit_eltwise_emitters
* Created entry Algorithm::EltwiseGreaterEqual in the
  get_supported_precisions in nodes/kernels/aarch64
* Add the EltwiseGreaterEqual entry in the aarch64
  executors supported algorithms

Closes: openvinotoolkit#24447

Signed-off-by: Nashez Zubair <[email protected]>
github-merge-queue bot pushed a commit that referenced this issue Sep 27, 2024
…26727)

* Added jit_greater/less_equal_emitter derived classes in
aarch64/jit_eltwise_emitters
* Created entry Algorithm::EltwiseGreater/LessEqual in the
get_supported_precisions in nodes/kernels/aarch64

### Tickets:
 - Closes #24447 
 - Closes #24105

---------

Signed-off-by: Nashez Zubair <[email protected]>
@github-project-automation github-project-automation bot moved this from In Review to Closed in Good first issues Sep 27, 2024
@mlukasze mlukasze added this to the 2024.5 milestone Sep 27, 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 good first issue Good for newcomers no_stale Do not mark as stale platform: arm OpenVINO on ARM / ARM64
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants