openvino icon indicating copy to clipboard operation
openvino copied to clipboard

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

Open eshoguli opened this issue 1 year ago • 5 comments

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

  • Abs operation: https://github.com/openvinotoolkit/openvino/pull/23692
  • Sigmoid operation, which reuses Exp emitter: https://github.com/openvinotoolkit/openvino/pull/23065

Resources

Contact points

@eshoguli, @dmitry-gorokhov

Ticket

CVS-140845

eshoguli avatar May 09 '24 13:05 eshoguli

.take

stibrew avatar May 30 '24 12:05 stibrew

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

github-actions[bot] avatar May 30 '24 12:05 github-actions[bot]

Hi @stibrew. Do you have any updates on the progress? Any help needed from our side?

dmitry-gorokhov avatar Jul 12 '24 08:07 dmitry-gorokhov

Hi @dmitry-gorokhov
Its on my ToDo list and I expect to either complete it within this week or unassign myself from it in case the priority requires quicker completion. Does that work?

stibrew avatar Jul 12 '24 09:07 stibrew

@stibrew There is no rush at all. So take your time :)

dmitry-gorokhov avatar Jul 12 '24 10:07 dmitry-gorokhov

@mlukasze Can I take this up?

nashez avatar Sep 27 '24 11:09 nashez

sure :)

mlukasze avatar Sep 27 '24 11:09 mlukasze

.take

nashez avatar Sep 27 '24 13:09 nashez

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

github-actions[bot] avatar Sep 27 '24 13:09 github-actions[bot]

@dmitry-gorokhov Can you link my Sqrt PR to this issue?

nashez avatar Oct 15 '24 04:10 nashez

linked

mlukasze avatar Oct 15 '24 04:10 mlukasze