MKL-based FFT transforms for NumPy arrays
Project description
mkl_fft
-- a NumPy-based Python interface to Intel (R) MKL FFT functionality
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 intel mkl_fft
To install mkl_fft Pypi package please use following command:
python -m pip install --index-url https://pypi.anaconda.org/intel/simple --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 Anaconda Cloud:
python -m pip install --index-url https://pypi.anaconda.org/intel/simple --extra-index-url https://pypi.org/simple mkl_fft numpy==<numpy_version>
Where <numpy_version>
should be the latest version from https://anaconda.org/intel/numpy
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
Built Distributions
Hashes for mkl_fft-1.3.8-70-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32260b4f802fc5185ead67a032e844809638cfd44c1b4b76e908cd74d2f84926 |
|
MD5 | d027632bbb543238de8b87ef8ff760f5 |
|
BLAKE2b-256 | e839caa373695ed95a9f78e99f53c4a4fbff86784f56161b0a4b0abc93e31b79 |
Hashes for mkl_fft-1.3.8-70-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1640b75a5d47bb99c944815f0e349e9f27d9a107ae1c83a4ea3a7726f118a085 |
|
MD5 | dbe3b53d6da1e90044d7247fba11c5c7 |
|
BLAKE2b-256 | f5206eef8c59d63043da6a8339be7afb60f9b9ead43470efe28e29b38ff9e38b |
Hashes for mkl_fft-1.3.8-70-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01bc0c9df42c18d8e25f633497b9ecf81088d8dadd39c7917fe105d3e219c124 |
|
MD5 | 0985d53e8405364c1147804bd188baa2 |
|
BLAKE2b-256 | 6e7123a25b0bddef29eb84a7e948d1092618894e4211ef937f61f4a7444153f2 |
Hashes for mkl_fft-1.3.8-70-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b77d42a808d7e789eae0f5a5436c37e7979c24ffe83a559c8c62c591d00b7a5 |
|
MD5 | e40fd148ed2b7982fa1b67d7b172cec2 |
|
BLAKE2b-256 | e184d5da4cbaea6e9961ac81e84e769213e84af105d5c5a04061c232ee0d577b |