scipy.fft has been merged!

Published: 07/01/2019

What did you do this week?

My PR for scipy.fft has been merged into SciPy's master branch and is now slated for release in version 1.4. I've been doing some follow-up PRs responding to some late feedback with follow-up PRs, mostly focused on documentation.

I've also started learning the Python C-API and written a proof of concept implementation of uarray's __ua_function__ protocol in C++. It still relies on some python code which is slowing it down but even still I've measured around a 2x reduction in function call overhead.

What is coming up next?

Now that scipy.fft has been merged into SciPy, I can open a new draft PR with the uarray code. This should allow for more feedback from the SciPy community and we can move towards getting backend support into scipy.fft.
While that is ongoing I can continue to work on my C++ implementation of uarray to move more of it into native code and bring down the overhead further.

pypocketfft has also just released an update with a new interface that should allow for a nice refactoring of the scipy.fft code.

Did you get stuck anywhere?

I spent a lot of my time trying to debug some segfaults that were happening in uarray's test suite. I assumed the issue must be in my C++ code since I was unfamiliar with the Python C-API. However, after a lot of investigation the bugs turned out to be in NumPy and Dask, not my code.