Skip to main content

MKL-based FFT transforms for NumPy arrays

Project description

mkl_fft -- a NumPy-based Python interface to Intel (R) MKL FFT functionality

Build Status

mkl_fft started as a part of Intel (R) Distribution for Python* optimizations to NumPy, and is now being released as a stand-alone package. It can be installed into conda environment using

   conda install -c https://software.repos.intel.com/python/conda mkl_fft

or from conda-forge channel:

   conda install -c conda-forge mkl_fft

To install mkl_fft Pypi package please use following command:

   python -m pip install --index-url https://software.repos.intel.com/python/pypi --extra-index-url https://pypi.org/simple mkl_fft

If command above installs NumPy package from the Pypi, please use following command to install Intel optimized NumPy wheel package from Intel Pypi Cloud:

   python -m pip install --index-url https://software.repos.intel.com/python/pypi --extra-index-url https://pypi.org/simple mkl_fft numpy==<numpy_version>

Where <numpy_version> should be the latest version from https://software.repos.intel.com/python/conda/


Since MKL FFT supports performing discrete Fourier transforms over non-contiguously laid out arrays, MKL can be directly used on any well-behaved floating point array with no internal overlaps for both in-place and not in-place transforms of arrays in single and double floating point precision.

This eliminates the need to copy input array contiguously into an intermediate buffer.

mkl_fft directly supports N-dimensional Fourier transforms.

More details can be found in SciPy 2017 conference proceedings: https://github.com/scipy-conference/scipy_proceedings/tree/2017/papers/oleksandr_pavlyk


It implements the following functions:

Complex transforms, similar to those in scipy.fftpack:

fft(x, n=None, axis=-1, overwrite_x=False)

ifft(x, n=None, axis=-1, overwrite_x=False)

fft2(x, shape=None, axes=(-2,-1), overwrite_x=False)

ifft2(x, shape=None, axes=(-2,-1), overwrite_x=False)

fftn(x, n=None, axes=None, overwrite_x=False)

ifftn(x, n=None, axes=None, overwrite_x=False)

Real transforms

rfft(x, n=None, axis=-1, overwrite_x=False) - real 1D Fourier transform, like scipy.fftpack.rfft

rfft_numpy(x, n=None, axis=-1) - real 1D Fourier transform, like numpy.fft.rfft

rfft2_numpy(x, s=None, axes=(-2,-1)) - real 2D Fourier transform, like numpy.fft.rfft2

rfftn_numpy(x, s=None, axes=None) - real 2D Fourier transform, like numpy.fft.rfftn

... and similar irfft* functions.

The package also provides mkl_fft._numpy_fft and mkl_fft._scipy_fft interfaces which provide drop-in replacements for equivalent functions in NumPy and SciPy respectively.


To build mkl_fft from sources on Linux:

  • install a recent version of MKL, if necessary;
  • execute source /path/to/mklroot/bin/mklvars.sh intel64 ;
  • execute pip install .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

mkl_fft-1.3.11-81-cp312-cp312-win_amd64.whl (171.5 kB view details)

Uploaded CPython 3.12 Windows x86-64

mkl_fft-1.3.11-81-cp312-cp312-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

mkl_fft-1.3.11-81-cp311-cp311-win_amd64.whl (178.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

mkl_fft-1.3.11-81-cp311-cp311-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

mkl_fft-1.3.11-81-cp310-cp310-win_amd64.whl (178.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

mkl_fft-1.3.11-81-cp310-cp310-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

mkl_fft-1.3.11-81-cp39-cp39-win_amd64.whl (178.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

mkl_fft-1.3.11-81-cp39-cp39-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

File details

Details for the file mkl_fft-1.3.11-81-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for mkl_fft-1.3.11-81-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aad6ee1f290a0163246a0ccb8d761236e90a1fe5acc42b402ef71c6ca3ca6c4a
MD5 50ba93b49dd6409b6b9229766b1a3b3d
BLAKE2b-256 1e48282c6ad9eccf4d8ca168a75770379acde1f353af5a1754f497a1cb1e1e8b

See more details on using hashes here.

File details

Details for the file mkl_fft-1.3.11-81-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mkl_fft-1.3.11-81-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5561565f832a921eb08ce6adca04a9b03d03046ab60dfa4080d1342b803fd165
MD5 0902c0f0a978bc0d8f98c92d408051c7
BLAKE2b-256 b54bd11f5fb3bfffac597f3716bf869dad317159ea8b613be11b3478f5b0f4b3

See more details on using hashes here.

File details

Details for the file mkl_fft-1.3.11-81-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for mkl_fft-1.3.11-81-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cbd0800d6f08ff21579b9b45f5bfb42c209e934c0c72e4adb73cd8fd6852220a
MD5 1399c401460c24bb5f991f8552ee0c2d
BLAKE2b-256 454b522fc74ebe9bcef143c964090eba19eb51ac19abd82f99b60f1e4afab9df

See more details on using hashes here.

File details

Details for the file mkl_fft-1.3.11-81-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mkl_fft-1.3.11-81-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be80a554b3e3de20f4e9df9f934757ebd407efe1b2f74a26ceec555320214716
MD5 0270e6556a9cd720966b6cd8927286c7
BLAKE2b-256 0f65e2473c1dfc4f727e0462beb092b6ecb264360a61cce6888d815e69d14c1c

See more details on using hashes here.

File details

Details for the file mkl_fft-1.3.11-81-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for mkl_fft-1.3.11-81-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a1a627490e8775863abab752484bcfdefaabee9c876a5d66846e151132c0f8d9
MD5 ab84ebf72116ce238a4a0c0c366936c1
BLAKE2b-256 87e695965719f1935c51211ed3a01da90e18e950efc5469c4b332df653d08d4b

See more details on using hashes here.

File details

Details for the file mkl_fft-1.3.11-81-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mkl_fft-1.3.11-81-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0634f56f28ed3b8bc98712e5383495a93080472f26b30dcadcaa89d76c2ac916
MD5 9de22b1e93ec0946222c13eb44dfd531
BLAKE2b-256 cb925bbf9c7221716ec454e502b702700f20d328ca46461a93fa58959dae2107

See more details on using hashes here.

File details

Details for the file mkl_fft-1.3.11-81-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for mkl_fft-1.3.11-81-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 26d0cbb4aca433efb8e54615ca397f4b9106e4a09dad8ca1a08a999e916f89aa
MD5 99f49111dd5a27c4b273a98ed8fc5f5e
BLAKE2b-256 332883b81cdeb116386d98688e6333811ed9f95aad8934d7138d72210708f115

See more details on using hashes here.

File details

Details for the file mkl_fft-1.3.11-81-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mkl_fft-1.3.11-81-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bb8f5a3aea3400da34a0f13fa45e74a7a656778b0b7df7268c23f51bebcbbac1
MD5 b3f1707e815909573980a5c2c5c15f1e
BLAKE2b-256 03d4475f7844f151c8002ece7eb9a19bd5969230d74e0d51568ae2c4790a0283

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page