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
Numba-based StdDevUDF #640
Conversation
This version is slightly faster for the benign case of signal buffers that fit comfortably into the CPU caches. For the malign case of signal buffers that don't fit the caches well, it is 5x-7x faster since it eliminates large intermediate buffers and calculates each pixel in one pass. * Added test for numerical stability. * Added citation
A second pass or citation in main text seem to fix the issue with undefined reference -- perhaps BibTeX cache not generated when citing in docstring?
Codecov Report
@@ Coverage Diff @@
## master #640 +/- ##
==========================================
+ Coverage 58.13% 58.49% +0.35%
==========================================
Files 210 210
Lines 8012 8068 +56
Branches 1049 1065 +16
==========================================
+ Hits 4658 4719 +61
+ Misses 3163 3160 -3
+ Partials 191 189 -2
Continue to review full report at Codecov.
|
CI error not reproducible locally.
This reverts commit 5af3fca.
:cite:`Schubert2018` glitches in CI in docstrings and some RST files. Hard to reproduce the CI behavior
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.
I added some comments - most importantly I think the docstrings, variable naming and thus readability can be improved - the general structure and implementation looks good!
Use permanent DOI instead of 0.1.0
Thx @sk1p for the feedback!
Thx @sk1p for the feedback! This should be ready for a second round of review. |
The small previous shape only covered the tail handling.
The Numba coverage for |
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.
Well done, and impressive speed-up! With the improved doc strings and variable names, the code is much better readable. Two more suggestions added, other than those this is ready to be merged.
coverage issues are best debugged locally (I don't trust codecov... the travis job says coverage was uploaded, but apparently it was not correctly merged into the full coverage report, sigh.) - did you try |
Good point! The function was actually never called since the partition did fit in a single tile. I've adapted the parameters accordingly. At least locally, the coverage is 100 % now. |
Perfect, thanks, merged! |
This version is
slightlyabout 2x faster compared to the version in #625 for the benign case of signal buffers that fit comfortably into the CPU caches.For the malign case of signal buffers that don't fit the caches well,
it is about 10x faster since it eliminates large intermediate buffers and
calculates
each pixel in one passthe result in cache-friendly blocks and CPU -friendly access patterns.Contributor Checklist: