What did you do this week?
I started off looking into uarray, a library for multi-method dispatch for different backends. I created a working prototype for uarray support in scipy.fft and used this to start benchmarking the overheads involved. I've also been looking into it's design and had online discussions with one of the authors.
I also made some requested changes to my scipy.fft pull-request, including updating the tutorials and benchmark suite. This revealed some serious performance regressions for 1D FFTs, as compared with scipy.fftpack. So, I deverted my attention to resolving these issues which saw over 10x improvement for small FFTs.
What is coming up next?
I need to evaluate the uarray aproach in comparison to my custom backend solution that I implemented last week. Of particular interest is the performance overhead which will need to be compared and possibly optimised. There are also a number of design choices that differ between uarray and my custom solution which I will need to reconsider and discuss on the mailing list.
Did you get stuck anywhere?
No significant blockers, although the work on optimising for 1D FFTs did take time away from the backend work that I had planned to focusing on.