-
Notifications
You must be signed in to change notification settings - Fork 323
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
Fixed#938: Speed up njit-decorated function for sliding dot product [WIP] #939
base: main
Are you sure you want to change the base?
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #939 +/- ##
=======================================
Coverage 98.93% 98.93%
=======================================
Files 84 84
Lines 14292 14292
=======================================
Hits 14140 14140
Misses 152 152 ☔ View full report in Codecov by Sentry. |
@seanlaw For now I just |
@@ -0,0 +1,178 @@ | |||
{ |
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.
Line #20. x[:] = scipy.fft.fft(x) # we will implement our fft shortly!
We will later work on implementing this fft
function using 6-step / 8-step algorithm. We then change this line and the caller function accordingly.
Reply via ReviewNB
This PR addresses the issue raised in #938. We want to create a new function for
sliding_dot_product
that:(1) has a performance that is close to the performance of
core.sliding_dot_product
(2) can be called by a njit-decorated function
Currently, the existing alternative to
core.sliding_dot_product
iscore._sliding_dot_product
; however, in contrast tocore.sliding_dot_product
, its performance is NOT independent ofm
, the length of query.As suggested by @seanlaw, we are going to try OTFFT to implement fft and ifft. Then, we use them to create a new function for
sliding_dot_product
.