First Weekly Check-in
View Blog Post
What did you do this week?
I have been working towards a minimum viable product for the scipy.fft submodule. This involved writing a wrapper around pypocketfft to satisfy the numpy.fft interface, as well as integrating pypocketfft into SciPy's build system. I have opened a draft PR in which all of numpy's fft tests are passing and all but one of the fftpack tests are passing.
What is coming up next?
The draft PR needs to be polished to the point where it is review ready:
- Some small precision issues need to be resolved
- Documentation needs to be written
- fftpack had various optimisations for real input which need to be reimplemented with pocketfft
I can also begin work on the backend system:
- mechanism for installing a backend
- configuration API to give users more control over each backend
Did you get stuck anywhere?
I initially had a lot of trouble getting the build system to work. Any attempt to add or modify scipy submodules were causing build failures in completely unrelated parts of SciPy. I was only able to resolve this after reinstalling my entire python environment. After solving that, I had no major blockers.
View Blog Post
Hello, my name is Peter from the UK where I'm studing computational physics. I've used scipy a lot throughout my degree and through my participation in GSoC, I hope to return the favour! Over the summer I'll be working to enhance scipy's fast-fourier transform (fft) library. This will include the ability for users to supply their own implementations at run time.
Initially, this was just going to be a new backend system for the existing module scipy.fftpack. Over the past few weeks, I've already had lots of great discussion with the community; both on the mailing list (SciPy-Dev) and on GitHub in a related issue. From this discussion, the project has now evolved into creating a new module scipy.fft which will now also have:
- support for multiple backends
- default to using pocketfft for improved performance and accuray
- an interface that matches better with numpy.fft
The next steps will be to draft up the interface to scipy.fft with the new default implementation. This will no doubt be iterated on in a pull request on github. Once that gets merged, I should be in a good place to start implementing support for different backends.