pylops icon indicating copy to clipboard operation
pylops copied to clipboard

Support Intel MKL FFT

Open cako opened this issue 2 years ago • 3 comments

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 and intel-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 standalone mkl_fft.

cako avatar May 16 '22 03:05 cako

@cako Is this issue still open to take?

rohanbabbar04 avatar Feb 02 '23 14:02 rohanbabbar04

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.

rohanbabbar04 avatar Feb 02 '23 14:02 rohanbabbar04

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.

cako avatar Feb 03 '23 03:02 cako