Adding multithreading to scipy.fft

Published: 08/12/2019

What did you do this week?

  • Fixed a small inconsistency with the numpy.fft API when the transform shape is given but not the axes (scipy#10594)
  • Gotten my CuPy PR into a review ready state. Fixing uarray backend support (scipy#2355)
  • Migrated pypocketfft from OpenMP to a custom thread-pool that I wrote to handle fork on POSIX systems. This addresses all the main concerns with adding OpenMP into SciPy (pypocketfft!23, pypocketfft!24)
  • Using the updated pypocketfft, I was then able to open a PR adding multithreading support to the scipy.fft API (scipy#10614)

What is coming up next?

- Create, or at least open issue for, a mkl-fft backend
- Expand the scipy.fft tutorial to include installing and using new FFT backends

There are also a number of minor features that could be added to pypocketfft such as shape changing transforms or pre-planned transforms. Though at this late stage in the project, my focus is on polishing the current feature set.

Did you get stuck anywhere?

No significant blockers this week.


1000 characters left