-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
[STFT][CPU] Improve performance of STFT for CPU by reusage RDFT jit Executor #26967
Changes from 31 commits
41185fd
7c56896
843a6b7
9465aea
ccee7c3
e522095
d2f8eac
b9ede8b
2cc727d
085681f
6cee735
9abd14d
0fb0b9f
1ca31ea
728b8f9
30addd3
8b17ad4
bd9d080
a286147
5eb0895
57e147c
00cef70
b2cbe90
72acaad
dc1ac1f
5947a39
0f1ea39
789a472
f64afbe
5a8c341
d1ec726
e546026
9a02a0e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -55,6 +55,10 @@ void STFTLayerTest::SetUp() { | |
ElementType step_size_type; // size/step type | ||
utils::InputLayerType param_type; | ||
|
||
// With usage of RDFT executor, in favour of performance, | ||
// the results are slightly different than reference impl | ||
abs_threshold = 1e-1; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see that for rdft test we also have to increase the threshold, but in a much lesser extent (https://github.com/openvinotoolkit/openvino/blob/master/src/tests/functional/shared_test_classes/src/single_op/rdft.cpp#L87-L89). There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I will investigate that deeper, but first thing that comes to my mind is different test input data. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Update in: #26967 (comment) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also, for the torch tests I've previously implemented sinusoidal signal simulation to provide it as the test input, and the tests with default eps 1e-4 passed without any adjustments. |
||
|
||
std::tie(data_shapes, | ||
frame_size, | ||
frame_step, | ||
|
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.
minor: the simpliest way to perform such things like transpose in CPU plugin is to use the following interface: https://github.com/openvinotoolkit/openvino/blob/master/src/plugins/intel_cpu/src/cpu_memory.h#L190 with correctly initialized memory descriptors. In theory it should provides better performance.
Anyway I don't insist it should be refactored in bounds of this PR.
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 for this hint! Worth to consider as a follow up, we have also briefly discussed potential further optimizations for the transpose here: #26967 (comment)