-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Implement CPU plugin just-in-time emitter for IsFinite operation #25237
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
Implement CPU plugin just-in-time emitter for IsFinite operation #25237
Conversation
|
@eshoguli @dmitry-gorokhov Hi, I have implemented this new emitter. Could you please help me review the PR and trigger the CI? Thank you very much! |
|
Hello @dmitry-gorokhov @eshoguli , just a gentle reminder to review this PR when you have time. |
|
@mlukasze Hi, could you please help me trigger the CI? |
|
build_jenkins |
|
Hello @dmitry-gorokhov @eshoguli @mlukasze Some tests failed :( The visible failed test is about JAX FE which seems not related with my PR ? |
|
@dmitry-gorokhov @eshoguli Gentle ping. |
|
@dmitry-gorokhov @eshoguli Just a friendly reminder for help when you have time. I want to finish this emitter and move to another! |
|
@awayzjj there are two failed jobs which are not affected by your changes. I see that at the moment the both of them are green on the master branch, so I suggest to just rebase your branch to fix CI. |
68839ad to
2e11f21
Compare
|
@a-sidorova Thank you so much! I have rebased my branch, Could you please help me trigger the CI? |
|
build_jenkins |
|
@a-sidorova Hi, there are 2 jobs that have been hanging for a long time, and 3 jobs have failed. Could you please provide some suggestions on how to address these issues? Thank you very much! |
2e11f21 to
686d9ae
Compare
|
@a-sidorova Thank you so much! I have rebased my branch, Could you please help me trigger the CI again? |
|
build_jenkins |
|
@a-sidorova @mlukasze Wow, the CI is full green. Can you merge the PR? Thank you very much! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New emitter handles special values: NaN and Infinity, but tests input tensor generation was not changed. Please, update ActivationLayerCPUTest::generate_inputs to have NaN and Infinity values in test input tensor.
Note, please:
- there are several types of
NaNvalues - use different, please, - there is an example for
Signactivation here. You can do something similar but use more then one value, please.
src/plugins/intel_cpu/src/emitters/plugin/aarch64/jit_eltwise_emitters.cpp
Outdated
Show resolved
Hide resolved
src/plugins/intel_cpu/src/emitters/plugin/aarch64/jit_eltwise_emitters.cpp
Outdated
Show resolved
Hide resolved
src/plugins/intel_cpu/src/emitters/plugin/aarch64/jit_eltwise_emitters.cpp
Outdated
Show resolved
Hide resolved
2958716 to
a5c3b10
Compare
|
@eshoguli Hi, thank you very much for your review! I have incorporated your suggestions, could you please review the PR again? |
|
build_jenkins |
| static_cast<float*>(tensor.data())[3] = std::tgamma(-1); // nan | ||
| static_cast<float*>(tensor.data())[4] = std::log(-1); // nan | ||
| static_cast<float*>(tensor.data())[5] = std::sqrt(-1); // -nan | ||
| static_cast<float*>(tensor.data())[6] = 0 / 0.0; // -nan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@awayzjj This line leads to failed Win build on CI:
"openvino/src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/activation.cpp(105): error C2124: divide or mod by zero"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dmitry-gorokhov Thank you! But I do not have much experirence on windows. Should I just remove the line 105?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are implementing isFinite operation. So I believe it is enough to have 4 specific values: nan, -nan, inf, -inf.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, I will fix it later today!
|
build_jenkins |
src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/activation.cpp
Show resolved
Hide resolved
|
@awayzjj Could you please rebase you PR on latest master state? This is required to make CI green. |
166e18f to
2e48dbf
Compare
|
build_jenkins |
Head branch was pushed to by a user without write access
2e48dbf to
0b2b2e9
Compare
|
@dmitry-gorokhov Hi, I forgot to update the master before rebase, could you please help me trigger the CI again? Thank you very much! |
|
build_jenkins |
|
@dmitry-gorokhov @eshoguli Hi, the CI is still not full green after rebasing :( |
|
@awayzjj CI is green now. Added in merge queue. |
|
@dmitry-gorokhov Thank you so much for your patience and help! I have only one emitter to implement! Before starting, I have one question: how much performance improvements in terms of speed and throughput can we expect from JIT? Are there approximate numbers you can share? |
|
@dmitry-gorokhov I've taken these two issues and will work on resolving them as quickly as possible. I hope that in the future, you can release slightly different issues, as I want to become more familiar with our ARM backend! :) |
…nvinotoolkit#25237) Closes openvinotoolkit#24416 ### Details: - *item1* - *...* ### Tickets: - [CVS-137697](https://jira.devtools.intel.com/browse/CVS-137697)

Closes #24416
Details:
Tickets: