pylops
pylops copied to clipboard
Support Intel MKL FFT
Description
A conda installation of numpy provides MKL-accelerated linear algebra subroutines (BLAS) but does not substitute FFTs for
those from the Intel MKL FFT. As far as I have been able to establish, there are three ways of installing MKL FFTs: 1) through the intel-numpy
package which substitutes numpy.fft
for MKL FFTs; 2) through intel-scipy
which does the same for scipy.fft
; 3) through the standalone mkl_fft
package.
It would be interesting to ensure that MKL FFT is supported through all these formats.
Definition of done
- Test and possibly fix current implementation of FFTs but using
intel-numpy
andintel-scipy
. ~There is a known issue that breaks PyLops when using these libraries (https://github.com/IntelPython/mkl_fft/pull/69). This issue is reported upstream, but can be bypassed downstream.~ - Implement a new FFT backend (like
pyfftw
) which relies on the standalonemkl_fft
.
@cako Is this issue still open to take?
Also just to confirm,
We wish to shift from pyfftw
to mkl_fft
And shift the numpy
and scipy
to intel-numpy
and intel-scipy
respectively.
Yes, it is still an issue! Would definitely be a good place to start contributing.
To clarify, the current FFT operator has several backends available e.g., scipy
, numpy
and pyfftw
. The goal of this issue is to add the support for the standalone MKL FFTs as a separate backend. They would be provided via this package: https://github.com/IntelPython/mkl_fft
All previous backends should remain untouched.