-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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 Negative operation #27500
Comments
.take |
Thank you for looking into this issue! Please let us know if you have any questions or require any help. |
@nashez Hi! Could you tell me please if you need help with the impl or with something else? |
Hi @a-sidorova I will take it up this weekend |
.take |
Thanks for being interested in this issue. It looks like this ticket is already assigned to a contributor. Please communicate with the assigned contributor to confirm the status of the issue. |
Reassigned the issue to @xyz-harshal since @nashez is not active for a long time @xyz-harshal good luck! |
Thank you for looking into this issue! Please let us know if you have any questions or require any help. |
.take |
Thank you for looking into this issue! Please let us know if you have any questions or require any help. |
.take |
Thank you for looking into this issue! Please let us know if you have any questions or require any help. |
Thank you for looking into this issue! Please let us know if you have any questions or require any help. |
@xyz-harshal you created the PR with the implementation and removed you assignment in this issue. Could you tell me please if you had some problems? Looks like that your work was almost completed. It would be great if you fully finish it 😃 |
.take |
Thank you for looking into this issue! Please let us know if you have any questions or require any help. |
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.
Currently,
Negative
op is supported in CPU Plugin asMath
op on x64 and ARM platforms. TheMath
ops use not efficient C++ implementations. The idea is to moveNegative
op fromMath
toEltwise
ops which use JIT emitters for the better performance. We already have x64 JIT emitter, so need to implement the same emitter for ARMPrerequisites
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?
fp32
Negative operation JIT emitter for ARM64 SIMD platform. Use OpenVINO CPU plugin JIT emitters documentation and Arm A-profile A64 Instruction Set Architecture documentation for details.EltwiseNegative
forNegative
op. Also, replace the typeMath
withEltwise
in TypeToNameMap.Negative
op inEltwise
node to execute this node on x64 platforms using already implemented JIT emitter.Before emitter implementation, please, modify tests to be sure that developed functionality is covered by test:
jit
kernel check in activation test, the test must fail.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
GoogleTest
filter:./bin/[platform]/[build_type]/ov_cpu_func_tests --gtest_filter="*smoke*Activation*Negative*"
Example Pull Requests
Resources
Contact points
@a-sidorova, @dmitry-gorokhov
The text was updated successfully, but these errors were encountered: