|
1 |
| -## `mkl_fft` -- a NumPy-based Python interface to Intel® oneAPI Math Kernel Library (OneMKL) FFT functionality |
| 1 | +## `mkl_fft` -- a NumPy-based Python interface to Intel® oneAPI Math Kernel Library (oneMKL) FFT functionality |
2 | 2 | [](https://github.com/IntelPython/mkl_fft/actions/workflows/conda-package.yml)
|
3 | 3 | [](https://github.com/IntelPython/mkl_fft/actions/workflows/build_pip.yaml)
|
4 | 4 | [](https://github.com/IntelPython/mkl_fft/actions/workflows/conda-package-cf.yml)
|
5 | 5 | [](https://securityscorecards.dev/viewer/?uri=github.com/IntelPython/mkl_fft)
|
6 | 6 |
|
7 | 7 | # Introduction
|
8 | 8 | `mkl_fft` started as a part of Intel® Distribution for Python* optimizations to NumPy, and is now being released
|
9 |
| -as a stand-alone package. It offers a thin layered interface for the Intel® oneAPI Math Kernel Library (OneMKL) FFT functionality that allows efficient access to native FFT optimizations from a range of NumPy and SciPy functions. As a result, its performance is close to the performance of native C/Intel® OneMKL. The optimizations are provided for real and complex data types in both single and double precisions for in-place and out-of-place modes of operation. For analyzing the performance use [FFT benchmarks](https://github.com/intelpython/fft_benchmark). |
| 9 | +as a stand-alone package. It offers a thin layered interface for the Intel® oneAPI Math Kernel Library (oneMKL) FFT functionality that allows efficient access to native FFT optimizations from a range of NumPy and SciPy functions. As a result, its performance is close to the performance of native C/Intel® oneMKL. The optimizations are provided for real and complex data types in both single and double precisions for in-place and out-of-place modes of operation. For analyzing the performance use [FFT benchmarks](https://github.com/intelpython/fft_benchmark). |
10 | 10 |
|
11 |
| -Thanks to Intel® OneMKL’s flexibility in its supports for arbitrarily strided input and output arrays both one-dimensional and multi-dimensional Fast Fourier Transforms along distinct axes can be performed directly, without the need to copy the input into a contiguous array first. Furthermore, input strides can be arbitrary, including negative or zero, as long as strides remain an integer multiple of array’s item size, otherwise a copy will be made. |
| 11 | +Thanks to Intel® oneMKL’s flexibility in its supports for arbitrarily strided input and output arrays both one-dimensional and multi-dimensional Fast Fourier Transforms along distinct axes can be performed directly, without the need to copy the input into a contiguous array first. Furthermore, input strides can be arbitrary, including negative or zero, as long as strides remain an integer multiple of array’s item size, otherwise a copy will be made. |
12 | 12 |
|
13 | 13 | More details can be found in ["Accelerating Scientific Python with Intel Optimizations"](https://proceedings.scipy.org/articles/shinma-7f4c6e7-00f) from Proceedings of the 16th Python in Science Conference (SciPy 2017).
|
14 | 14 |
|
@@ -85,10 +85,10 @@ numpy.allclose(mkl_res, np_res)
|
85 | 85 | ---
|
86 | 86 | # Building from source
|
87 | 87 |
|
88 |
| -To build `mkl_fft` from sources on Linux with Intel® OneMKL: |
| 88 | +To build `mkl_fft` from sources on Linux with Intel® oneMKL: |
89 | 89 | - create a virtual environment: `python3 -m venv fft_env`
|
90 | 90 | - activate the environment: `source fft_env/bin/activate`
|
91 |
| - - install a recent version of OneMKL, if necessary |
| 91 | + - install a recent version of oneMKL, if necessary |
92 | 92 | - execute `source /path_to_oneapi/mkl/latest/env/vars.sh`
|
93 | 93 | - `git clone https://github.com/IntelPython/mkl_fft.git mkl_fft`
|
94 | 94 | - `cd mkl_fft`
|
|
0 commit comments